二者,一个或另一个(12 | 1 | 2)regex anywhere在子模式上使用相同的名称进行搜索

2024-09-29 21:56:00 发布

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

我使用以下正则表达式实现了搜索(12 | 1 | 2):

^(?:(?=.*?(?P<one>1))(?=.*?(?P<two>2))|(?=.*?(?P<otherone>1))|(?=.*?(?P<othertwo>2)))

它匹配任何一行,如果找到1和2,1或2。与以下所有场景一样:

1anything anything2

1 anything

anything 2

问题是我不想调用其他组otheroneothertwo。我不想叫它onetwo,但我不能,因为子模式不能有相同的名称

我听说过Branch Reset Group,但它在本机python正则表达式上不起作用,我正在使用一个相当大的repo从re迁移到regex。有没有其他办法可以做到这一点

工作示例:https://regex101.com/r/s5d9e0/1


Tags: re名称branch场景grouprepooneregex

热门问题