擅长:python、mysql、java
<p>将捕获组转换为非捕获组。你知道吗</p>
<pre><code>print(re.findall(r"\b(?:[a-z]?[A-Z]+[\w]*[ ]*)+\b", text))
</code></pre>
<p>参见<a href="https://regex101.com/r/yP9gA5/3" rel="nofollow">here</a>,它匹配第一部分,但捕获第二部分。<code>re.findall</code>会优先选择捕获,然后是匹配。所以它打印出了第二部分。你知道吗</p>
<p>改变你的模式像打击,如果你不wznt匹配尾随空格字符。你知道吗</p>
<pre><code>r'\b[a-z]?[A-Z]+\w*(?: [a-z]?[A-Z]+\w*)+'
</code></pre>
<p><a href="https://regex101.com/r/yP9gA5/4" rel="nofollow">DEMO</a></p>