I need to capture multiple groups of the same pattern. Suppose, I have the following string:

```
HELLO,THERE,WORLD

```

And I've written the following pattern

```
^(?:([A-Z]+),?)+$

```

What I want it to do is to capture every single word, so that Group 1 is : "HELLO", Group 2 is "THERE" and Group 3 is "WORLD". What my regex is actually capturing is only the last one, which is "WORLD".

I'm testing my regular expression [here](http://regexr.com) and I want to use it with Swift (maybe there's a way in Swift to get intermediate results somehow, so that I can use them?)

UPDATE: I don't want to use `split`. I just need to now how to capture all the groups that match the pattern, not only the last one.