title: regex returns extra blank group
body: <p>Can someone explain this behaviour (or what I'm doing wrong):</p>
  
  <pre><code>//matches twice (should only match once)
  Regex regex = new Regex("(?&lt;=Start )(.*)(?= End)");
  Match match = regex.Match("Start blah End");
  Console.Out.WriteLine("Groups:" + match.Groups.Count + " " + match.Groups[0] + " " + match.Groups[0]);  //2 groups: "blah" and "blah"
  
  //matches once, but blank result (should not match)
  Match match2 = regex.Match("Shouldn't match at all");
  Console.Out.WriteLine("Groups:" + match2.Groups.Count + " " + match2.Groups[0]);  //1 group: ""
  </code></pre>