Without a capx it's hard to come up with a solution. You could get it all in one go with a loop
repeat RegexMatchCount times
--- dictionary: add key RegexMatchAt(loopindex)
To make it so it doesn't stop at the first occurrence you could use "g" as the flags parameter. That way you wouldn't need to replace the text and make the regex need to process the text again.
There may be other ways to do it. Maybe this could give ideas: