正则引擎对比

前端之家收集整理的这篇文章主要介绍了正则引擎对比前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

~.DEELX vs VS.Net 的正则
一、元字符方面

1、\d 。C#的支持全角、半角的数字,Deelx仅支持半角
2、\w 。C#匹配所有的字符,包括汉字字符(全角、半角),Deelx仅字母,汉字不行
3、$ 。C#支持包括换行符在内串结束符,Deelx仅串结束符\0,在都不切换为多行模式时
4、[: 。C#不必对":"进行转义,Deelx需转义处理下,即变成“[\:”,因为C#不支持POSIX字符,而Deelx支持

二、分组处理
1、Group 。二者都是对应的,即最后保存捕获的都是具体某个子表达式最后一个匹配到的内容
2、Capture。
C# 支持保存某个具体子表达式捕获到的所有结果,作为一个集合存在。
Deelx 不支持子表达式结果集合,仅保留了该子表达式所捕获的最后一个匹配--即放在了Group中。 // 其实有获取:pContext->m_capturestack,但没有对外提供相应调用接口

三、限定符方面
1、* 二者不对应
*? 二者对应 。 如,// 要变* 为?* 后,二者匹配结果一致
(?<=(?:电话)(?:\d{5,9}、?)*)(\d{5,9})(?!\d)
被告人认为的供述与辩解:郭柏(联系电话15912345678、13687654321、13912345678)于

~. C#的正则库默认开启 Global 模式。其他的singalline multiline 等要手动开关。

猜你在找的正则表达式相关文章