什么是PCRE兼容语法? 和C#PCRE兼容吗?

什么是PCRE兼容语法? 和C#PCRE兼容吗? 从维基百科我发现:

Perl兼容正则表达式(PCRE)是一个正则表达式C库,受到Perl编程语言中正则表达式function的启发,由Philip Hazel编写,从1997年夏天开始.PCRE的语法比任何一个POSIX正则表达式都强大和灵活风味和许多经典正则表达式库。 该名称具有误导性,因为PCRE和Perl都具有其他function不共享的function。

资源

C#正则表达式与PCRE正则表达式共享一些语法。 大多数function都重叠,但两个库都保留了自己的细节:

几个例子:

PCRE

  • 支持递归
  • 支持回溯控制动词
  • 支持像(?(DEFINE) ... )
  • 支持更多选项
  • 提供DFA解析模式
  • 支持部分匹配
  • 支持\K
  • 支持X++简写语法(相当于(?>X+)

。净

  • 支持捕获堆栈和重复命名组
  • 支持平衡组
  • 支持可变长度的lookbehind

这份清单并非详尽无遗。 您可以在此页面和兄弟页面上比较两种风格。

鉴于存在差异,我希望能够使用.NET中的PCRE正则表达式,并且最近启动了PCRE.NET ,这是一个包装项目。 它尚未完成,但已开始可用。