代码之家  ›  专栏  ›  技术社区  ›  Jeff Meatball Yang

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

  •  6
  • Jeff Meatball Yang  · 技术社区  · 15 年前

    我刚读过这个 interesting article 关于支持正则表达式的各种语言的实现细节。

    它描述了使用非确定性有限自动机(NFA)和确定性有限自动机(DFA)的正则表达式的替代实现。它声称回溯DFA实现(在Perl、Java和其他版本中使用的版本)对某些特别“病态”的正则表达式非常敏感。(grep、awk和tcl仍然使用dfas,但以某种方式更快地成倍增长)

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

    编辑:

    我可以假设,既然回答者的文章提到.NET是否回溯,它将与Perl和Java相媲美?

    1 回复  |  直到 12 年前
        1
  •  10
  •   ojrac    15 年前

    有一个 令人惊叹的 写下 here . 他利用了这样一个事实,即您可以介入.NET框架代码,查看它的功能,并解释所有功能是如何工作的。这是一本好书。