title: Regex matching doesn't finish
body: <p>I've once <a href="https://stackoverflow.com/a/17723854/882200">answered a question</a> about matching a quoted string with escaped quotes.</p>
  
  <p>It seems that there are cases that hang on .NET and crash on Mono (with <code>OutOfMemoryException</code>), for example:</p>
  
  <pre><code>var reg = new Regex(@"^""([^\\""]*(\\"")*(\\[^""])*)*""");
  reg.Match("\"                               ");
  </code></pre>
  
  <p>Two questions:</p>
  
  <p>1) why does this happen?</p>
  
  <p>2) how to improve this regex? I want it to preserve all the "features".</p>