~.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 等要手动开关。
原文链接:https://www.f2er.com/regex/360918.html