擅长:python、mysql、java
<p>regex match对象的<code>string</code>属性包含匹配的<em>输入</em>字符串,而不是匹配的内容</p>
<p>如果要匹配(第一个)零件,需要更改三件事:</p>
<ul>
<li>使用<code>re.search()</code>,因为<code>re.match()</code>只会在字符串的开头找到匹配项</li>
<li>访问match对象的<code>group()</code>方法</li>
<li>使用<code>+</code>而不是<code>*</code>否则将得到一个空的(零长度)匹配,除非匹配恰好位于字符串的开头</李>
</ul>
<p>因此,使用</p>
<pre><code>>>> re.search(r'[\d.]+', '<some>some 344.3404.3 numbers<tag>').group()
'344.3404.3'
</code></pre>
<p>或者</p>
<pre><code>>>> re.findall(r'[\d.]+', '<some>some 344.3404.3 numbers more 234.432<tag>')
['344.3404.3', '234.432']
</code></pre>
<p>如果你期待不止一场比赛</p>