title: How are regular expressions implemented in .NET?
body: <p>I have just read this <a href="http://swtch.com/~rsc/regexp/regexp1.html" rel="nofollow noreferrer">interesting article</a> about the implementation details for various languages that support regular expressions.  </p>
  
  <p>It describes an alternative implementation of regular expressions that uses non-deterministic finite automatons (NFAs) versus deterministic ones (DFAs).  It claims that back-tracking DFA implementations (the version used in Perl, Java, and others) are susceptible to very slow performance on some particularly "pathological" regular expressions.  (grep, awk, and Tcl still use DFAs, but somehow are exponentially faster)</p>
  
  <p>It makes no reference to the .NET framework, but I would like to know how .NET (C# in particular) regular expressions are implemented, and how they compare in terms of performance.</p>
  
  <p><strong>Edit:</strong></p>
  
  <p>Can I assume since the answerer's article mentions .NET does backtracking, that it will be on par with Perl and Java?</p>