擅长:python、mysql、java
<p><code>match</code>方法只检查字符串开头的匹配项。在</p>
<p>改用<code>search</code>方法!在</p>
<p>而且,<code>()</code>是不必要的。在</p>
<p>如果代码中的<code>mainString</code>实际上是问题顶部的字符串,那么代码将无法正常工作,因为<code>for</code>循环将遍历该字符串中的所有单个字符。在</p>
<p>你可以用</p>
<pre><code>m = re.search(r'\b[0-9A-Z]{6}\b', mainString)
if (m):
print(m.group())
</code></pre>
<p>regex前面的<code>r</code>确保<code>\b</code>不被视为字符串转义序列。在</p>
<p><code>\b</code>表示单词边界,并确保6个字符的字母数字前面或后面不跟单词字符。没有它们,第一个匹配项将是<code>"TRAVELLER"</code>中的<code>"TRAVEL"</code>。在</p>
<p>如果要获得所有匹配项的列表,请使用<code>findall</code>或{<cd12>},而不是{<cd2>}。在</p>
^{pr2}$