擅长:python、mysql、java
<p>正则表达式中的替代项是按照您提供的顺序进行测试的,所以如果第一个分支匹配,那么Rx不会检查其他分支。如果您只需要测试匹配性,这并不重要,但是如果您希望基于匹配提取文本,那么这很重要。你知道吗</p>
<p>当短字符串是长字符串的子字符串时,只需要按长度排序。例如,当您有文本时:</p>
<pre><code>supermanutd
supermanu
superman
superm
</code></pre>
<p>然后你的第一个Rx你会得到:</p>
<pre><code>>>> regex.findall(string)
[u'supermanutd', u'supermanu', u'superman', u'superm']
</code></pre>
<p>但对于第二个Rx:</p>
<pre><code>>>> regex.findall(string)
[u'super', u'super', u'super', u'super', u'super']
</code></pre>
<p>用<a href="http://www.pythonregex.com/" rel="nofollow">http://www.pythonregex.com/</a>测试正则表达式</p>