【发布时间】:2018-02-16 11:52:51
【问题描述】:
我们应该只将正则表达式添加到脚本中而不涉及其他任何内容。该脚本的制作使其接受 3 个捕获组,并且有 2 个不同的正则表达式取决于输出。我为这两种情况准备了表达式,但是当我这样做时:
expression1 | expression2
脚本认为有 6 个捕获组(每个表达式包含 3 个捕获组),因此给我一个错误。
我应该如何在没有脚本认为有 6 个捕获组的情况下加入 2 个表达式,因为这两个表达式永远无法应用,它是表达式 1 或表达式 2,但不能同时应用。
表达式1是:
([a-zA-Z0-9]+[ ]?)\(P[: ]?([a-zA-Z0-9 ]*)()
表达式2是:
()()\)[ ]+([a-zA-Z0-9]+$|[a-zA-Z0-9]+[ ])
感谢您的任何建议!
【问题讨论】:
-
使用的正则库是
re还是regex? -
脚本的唯一库是're'
-
re没有通用解决方案。 Saeko,请发布实际模式。 -
不知道异或逻辑能否用Python正则表达式简洁明了地写出来。听起来改变代码的逻辑会更直接。
-
表达式1是: ([a-zA-Z0-9]+[ ]?)(P[: ]?([a-zA-Z0-9 ]*)() 表达式2是: ()())[ ]+([a-zA-Z0-9]+$|[a-zA-Z0-9]+[ ])
标签: python regex expression capturing-group