Question: I've found a lot of examples of how to **check** something using regex, or how to split text using regular expressions.

But how can I extract words out of a string ?

Example:

```
aaaa 12312 <asdad> 12334 </asdad>

```

Lets say I have something like this, and I want to extract all the numbers [0-9]\* and put them in a list.

Or if I have 2 different kind of elements:

```
aaaa 1234 ...... 1234 ::::: asgsgd

```

And I want to `choose digits that come after .....` and `words that come after ::::::`

Can I extract these strings in a single regex ?

Answer: 
Something like this will do nicely!

```
var text = "aaaa 12312 <asdad> 12334 </asdad>";
var matches = Regex.Matches(text, @"\w+");

var arrayOfMatched = matches.Cast<Match>().Select(m => m.Value).ToArray();

Console.WriteLine(string.Join(", ", arrayOfMatched));

```

\w+ Matches consecutive word characters. Then we just selected the values out of the list of matches and turn them into an array.
```
    Regex phoneregex = new Regex("[0-9][0-9][0-9]\-[0-9][0-9][0-9][0-9]");
    String unicornCanneryDirectory = "unicorn cannery 483-8627 cha..."
    String numbersToCall = "";

    //the second argument is where to begin within the match, 
    //we probably want 0, the first character
    Match matchIterator = phoneregex.Match(unicornCanneryDirectory , 0);
    //Success tells us if matchIterator has another match or not
    while( matchIterator.Sucess){
      String aResult = matchIterator.Result();
      //we could manipulate our match now but I'm going to concatenate them all for later
      numbersToCall  += aResult + " ";

      matchIterator = matchIterator.NextMatch();
    }

    // use my concatenated matches now
    String message = "Unicorn rights activists demand more sparkles in the unicorn canneries under the new law...";
    phoneDialer.MassCallWithAutomatedMessage(aResult, message );

```

<http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.match.nextmatch.aspx>