如何在.NET中实现正则表达式?

Jef*_*ang 6 .net c# regex performance grep

我刚刚阅读了这篇有趣的文章,关于支持正则表达式的各种语言的实现细节.

它描述了使用非确定性有限自动机(NFA)与确定性有限自动机(DFA)的正则表达式的替代实现.它声称反向跟踪DFA实现(Perl,Java和其他版本中使用的版本)在一些特别"病态"的正则表达式上容易受到非常慢的性能影响.(grep,awk和Tcl仍然使用DFA,但不知何故以指数方式加快)

它没有引用.NET框架,但我想知道如何实现.NET(特别是C#)正则表达式,以及它们在性能方面的比较.

编辑:

我可以假设,因为回答者的文章提到.NET确实回溯,它将与Perl和Java相提并论吗?

ojr*_*rac 10

这里有一个真棒写了这里.他利用了这样一个事实:您可以介入.NET框架代码并查看它的功能,并解释一切是如何工作的.这是一个很好的阅读.