为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式:是否可以使用“|” 仅适用于匹配模式的一部分?

正则表达式:是否可以使用“|” 仅适用于匹配模式的一部分?

MYYA 2023-09-05 20:56:25
是否可以执行如下操作:re.match(r'someArbLongRegex{option1|option2}anotherArbLongRegex', line)而不是必须这样做:re.match(r'someArbLongRegexoption1anotherArbLongRegex|someArbLongRegexoption2anotherArbLongRegex', line)基本上,|我不想将其应用于整个正则表达式模式,而是希望将其应用于正则表达式模式的一小部分。
查看完整描述

2 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

尝试使用 (?:选项1|选项2)

re.match(r'someArbLongRegex(?:option1|option2)anotherArbLongRegex', line)


查看完整回答
反对 回复 2023-09-05
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

是的。只需使用括号即可。

re.match(r'someArbLongRegex((option1)|(option2))anotherArbLongRegex', line)

有时,根据数据,您知道选项 1 和选项 2 不会同时位于“行”中,但至少其中 1 个会位于“行”中。然后你可以这样做:

re.match(r'(someArbLongRegex)((option1)?(option2)?)anotherArbLongRegex', line)


查看完整回答
反对 回复 2023-09-05
  • 2 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信