有没有办法在Python的正则表达式命名组中使用相同的名称?
例如:(?P<n>foo)|(?P<n>bar)
。
使用案例:
我试图使用以下正则表达式捕获type
和id
:
/(?=videos)((?P<type>videos)/(?P<id>\d+))|(?P<type>\w+)/?(?P<v>v)?/?(?P<id>\d+)?
从以下字符串中:
- /channel/v/123
- /ch/v/41500082
- /channel
- /videos/41500082
目前我得到了错误消息:
redefinition of group name 'id' as group 6; was group 3
regex
模块支持:(?|...)
- 您是否有想要实现的在线演示?此外,条件正则表达式或回顾后发断言可能已经足够。 - Jan