2024-10-01 07:41:12 发布
网友
在Python的正则表达式中:如果regex2没有,为什么regex1抱怨固定宽度看起来落后?^(开始标记)是否超过1个字符
regex2
regex1
^
Regex1
(?<=^|b)[0-9]
Regex2
(?<=a|b)[0-9]
可在https://regex101.com/r/L5J47R/2中复制
第一个正则表达式在Python中不起作用的原因是^是零宽度匹配,并且Python正则表达式引擎不支持在lookbehind断言中交替使用零和非零
但是,其他引擎(如Java、PHP、Perl、C#等)也支持这一点
要解决此问题,可以使用以下正则表达式:
(?:^|(?<=b))[0-9]
RegEx Demo
第一个正则表达式在Python中不起作用的原因是
^
是零宽度匹配,并且Python正则表达式引擎不支持在lookbehind断言中交替使用零和非零但是,其他引擎(如Java、PHP、Perl、C#等)也支持这一点
要解决此问题,可以使用以下正则表达式:
RegEx Demo
相关问题 更多 >
编程相关推荐