Python正则表达式查找带有字符“^”的奇怪行为

在Python的正则表达式中:如果没有,为什么会regex1抱怨固定宽度后视?regex2(起始标记)是否^超过 1 个字符?

正则表达式1

(?<=^|b)[0-9]

正则表达式2

(?<=a|b)[0-9]

可在https://regex101.com/r/L5J47R/2中重现


守着一只汪
浏览 65回答 1
1回答

杨魅力

第一个正则表达式在 Python 中不起作用的原因^是零宽度匹配,并且 Python 正则表达式引擎不支持后向断言中的零与非零交替。然而,其他引擎(例如 Java、PHP、Perl、C# 等)也支持这一点。为了解决这个问题,你可以使用这个正则表达式:(?:^|(?<=b))[0-9]正则表达式演示
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python