title: .NET Regex for parsing chess moves
body: <p><strong>Background</strong></p>
  
  <p>I'd like to parse quite a few of strings representing chess moves:</p>
  
  <pre><code>1.e4e62.d3d53.Nd2c54.g3Nf6
  </code></pre>
  
  <p>Each move begins with an increasing number 1., 2., 3. etc. There are no spaces in-between the moves.</p>
  
  <p>The perfect match would be an array like this:</p>
  
  <pre><code>["1.e4e6", "2.d3d5", "3.Nd2c5", "4.g3Nf6"]
  </code></pre>
  
  <p><strong>Regex Question</strong></p>
  
  <p>My regex so far is:</p>
  
  <pre><code>([0-9]\.)(.*?)(?=[0-9]\.)
  </code></pre>
  
  <p>This works in an online .NET Regex Tester (Regex Storm), apart not including the last move (4th). 
  How to include the last one too?</p>
  
  <p><strong>C# Question</strong></p>
  
  <p>My code is:</p>
  
  <pre><code>var regex = new Regex(@"([0-9]\.)(.*?)(?=[0-9]\.)");
  var match = regex.Match(game);
  </code></pre>
  
  <p>The match here includes only one entry "1.e4e6" and not three (or four).
  How to fix?</p>
  
  <p>Thanks,
  pom</p>