title: c# Regex.Matches problems with multiple matches results
body: <p>I am trying to use Regex.Matches and it seems to work in a different way to what I am used to with other languages like PHP. 
  Here is what I am trying to do:</p>
  
  <p>I want to get all forms from a particular webpage, but when I try to do the following</p>
  
  <pre><code>        String pattern = "(?i)&lt;form[^&lt;&gt;]*&gt;(.*)&lt;\\/form&gt;"; 
          MatchCollection matches = Regex.Matches(content, pattern );
  
          foreach (Match myMatch in matches)
          {
              MessageBox.Show(myMatch.Result("$1"));
          }
  </code></pre>
  
  <p>This code does not show anything even though there are three forms on that page. It seems that when I use (.*) it just skips everything till the end of the content.</p>