擅长:python、mysql、java
<p>我想你要问的问题是它为什么会返回这个:</p>
<pre><code>>>> re.findall(r'(ab)+', "ababababab")
['ab']
</code></pre>
<p>答案是,如果模式中有一个或多个组,那么findall将返回一个包含所有匹配组的列表。但是,您的正则表达式中有一个组在正则表达式中匹配多次,因此它取匹配的最后一个值。在</p>
<p>我想你想要的要么是:</p>
^{pr2}$
<p>或者你发布的版本:</p>
<pre><code>>>> re.findall(r'(?:ab)+', "ababababab")
['ababababab']
</code></pre>