擅长:python、mysql、java
<p>根据<a href="https://docs.python.org/2/howto/regex.html" rel="nofollow noreferrer">the documentation</a>,<code>(?:...)</code>指定了一个<em>非捕获组</em>。它解释说:</p>
<blockquote>
<p>Sometimes you’ll want to use a group to collect a part of a regular expression, but aren’t interested in retrieving the group’s contents. </p>
</blockquote>
<p>这意味着匹配<code>...</code>表达式(在您的例子中,前面的字母)将不会被捕获为一个组<em>,但仍将是匹配</em>的一部分。唯一的特别之处是您无法使用<code>match.group</code>访问此组捕获的输入部分:</p>
<blockquote>
<p>Except for the fact that you can’t retrieve the contents of what the group matched, a non-capturing group behaves exactly the same as a capturing group</p>
</blockquote>
<p>相反,<code>(?<=...)</code>是一个<em>肯定的lookbehind断言</em>;正则表达式将检查以确保任何匹配项前面都有文本匹配<code>...</code>,但不会捕获该部分。在</p>