<p>我想检查是否有一个正则表达式匹配成功。如果是的话,我想访问比赛中的组。如果我不需要团队,我可以这样做:</p>
<pre><code>if re.match(pobj1,string):
# First match worked
elif re.match(pobj2,string):
# First match failed, but second one worked.
[...]
</code></pre>
<p>由于我没有将匹配结果分配给任何对象,因此我不知道如何访问作为匹配一部分的任何组。因此,我将匹配项赋给条件之前的一个变量。但这意味着我每次都在进行所有的比赛,而不仅仅是必要的比赛</p>
<pre><code>mobj1 = re.match(pobj1,string)
mobj2 = re.match(pobj2,string) # Might be expensive
if mobj1:
# First match succeeded. Use the match information
primary_list.append(mobj1.group(1))
elif mobj2:
# First match failed, but second one worked. Use info from #2.
secondary_list.append(mobj2.group(1))
[...]
</code></pre>
<p>如何只运行必要的匹配,而在以后仍然能够从该匹配访问组</p>