什么是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 ,这是一个包装项目。 它尚未完成,但已开始可用。