擅长:python、mysql、java
<p>它没有停止,因为默认情况下<code>+</code>是<a href="http://www.rexegg.com/regex-quantifiers.html#greedytrap" rel="nofollow"><strong>greedy</strong></a>,您需要<code>+?</code>作为非贪婪匹配。你知道吗</p>
<p>一个简洁的解释-<code>*</code>和<code>+</code>是贪婪的量词/运算符,意味着它们将尽可能匹配,并且仍然允许正则表达式的其余部分匹配。你知道吗</p>
<p>对于非贪婪匹配,您需要使用<code>?</code>跟随这些运算符,按照上面的顺序,它将是(<code>*?</code>)“零或多”或(<code>+?</code>)“一或多”-但最好是“尽可能少”。你知道吗</p>
<p>此外,单词边界<code>\b</code>与一侧是单词字符(字母、数字或下划线或python3中的unicode字母、数字或下划线)而另一侧不是单词字符的位置匹配。如果你不清楚边界之间是什么,我就不会在<code>\b</code>周围使用<code>.</code>。你知道吗</p>