<h2>关于正则表达式</h2>
<p>正则表达式并不总是解决方案。有一句关于使用正则表达式的引语。在</p>
<blockquote>
<p>Some people, when confronted with a problem, think<br/>
“I know, I'll use regular expressions.” Now they have two problems. </p>
<blockquote>
<p>reference: <a href="http://regex.info/blog/2006-09-15/247" rel="nofollow">http://regex.info/blog/2006-09-15/247</a></p>
</blockquote>
</blockquote>
<h2>使用<code>regex</code>的可能解决方案</h2>
<ol>
<li>对正则表达式使用<code>re</code>模块。这是<a href="http://docs.python.org/3.3/library/re.html" rel="nofollow">a link to the documentation</a>。在</li>
<li>匹配项使用正则表达式项<code>r"\.(\d{1,3})\."</code>。此匹配将找到一个文本句点,后跟1、2或3个数字,然后是另一个文本句点。在</li>
<li>要帮助捕获数字,请使用regex捕获组<code>(...)</code>。在这种情况下,1、2或3位数的匹配将被捕获在括号中。这是<a href="http://www.regular-expressions.info/examples.html" rel="nofollow">a link to some regex examples</a>。在</li>
</ol>
<h2>用例的示例代码</h2>
<pre><code>>>> import re
>>>
>>> subject = """
... domain.3.bumblebee
... domain.56.mashabee
... domain.898.barista
... """
>>>
>>> matches = re.finditer(r"\.(\d{1,3})\.",subject)
>>> results = [int(match.group(1)) for match in matches]
>>>
>>> results
[3, 56, 898]
</code></pre>