title: Regex.Matches Fails To Find Multiple Matches
body: <p>I have run into a problem when trying to find multiple matches in a length of text. The text has the following format:</p>
  
  <pre><code>string text = "#IDENTIFIER http://www.link1.com #IDENTIFIER http://www.link2.org #IDENTIFIER http://www.link3.com #IDENTIFIER http://www.link4.net";
  </code></pre>
  
  <p>My objective is to extract each <em>#IDENTIFIER link</em> occurrence from this and I am doing it using the following code:</p>
  
  <pre><code>string pat = @"(#IDENTIFIER)(.*)\.(com|org|net)";
  MatchCollection matches = Regex.Matches(text, pat);
  foreach(Match match in matches) {
      Console.WriteLine("'{0}' found at index {1}.", match.Value, match.Index);
  }
  </code></pre>
  
  <p>The problem is, it returns one match and not 4. Why are the in-between patterns ignored?</p>
  
  <p>Do you know what I am missing?</p>