擅长:python、mysql、java
<p>使用管道在regex中表示替代项。模式'[A-Z]{3}:[A-Z]{3}|[A-Z]{3}'将同时匹配ABC和ABCABC:ABC。然后使用括号将结果分组:</p>
<pre><code>import re
match = re.match(r'([A-Z]{3}:[A-Z]{3})|([A-Z]{3})', 'ABC:ABC')
assert match.groups() == ('ABC:ABC', None)
match = re.match(r'([A-Z]{3}:[A-Z]{3})|([A-Z]{3})', 'ABC')
assert match.groups() == (None, 'ABC')
</code></pre>
<p>您可以研究命名组的概念,使其更具可读性。此外,还可以查看match对象的文档以获得有用的信息和方法。你知道吗</p>