Python正则表达式使用字符“^”查找奇怪行为

2024-10-01 07:41:12 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Regex1

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

Regex2

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

可在https://regex101.com/r/L5J47R/2中复制


Tags: https标记com宽度个字符regex2regex101regex1
1条回答
网友
1楼 · 发布于 2024-10-01 07:41:12

第一个正则表达式在Python中不起作用的原因是^是零宽度匹配,并且Python正则表达式引擎不支持在lookbehind断言中交替使用零和非零

但是,其他引擎(如Java、PHP、Perl、C#等)也支持这一点

要解决此问题,可以使用以下正则表达式:

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

RegEx Demo

相关问题 更多 >