【发布时间】:2013-02-18 21:45:15
【问题描述】:
是否可以将多个可选的正则表达式匹配到一个字符串,以任何顺序(但可以按特定顺序检索?)
例如,
s = '(pattern1)(pattern2)(pattern3)'
这样
match = re.search(s, 'pattern2 pattern1')
match = re.search(s, 'pattern1 pattern3 pattern2')
match = re.search(s, 'pattern3 pattern1')
以及所有其他排列匹配,此外
match.groups()
总是以相同的顺序返回pattern1、pattern2、pattern3,即使一个或多个是None
我知道这听起来不太可能——只是想知道是否以及如何做到这一点。
【问题讨论】:
-
您在寻找 s = 'pattern1|pattern2|pattern3' 管道分隔您的选项吗?