擅长:python、mysql、java
<pre><code>>>> import re
>>> pattern = re.compile("(http://www\\.)(\\w*)(\\.com/)(\\d+)")
>>> matches = pattern.search("http://www.someDomainName.com/2134")
>>> if matches:
print matches.group(0)
print matches.group(1)
print matches.group(2)
print matches.group(3)
print matches.group(4)
http://www.someDomainName.com/2134
http://www.
someDomainName
.com/
2134
</code></pre>
<p>在上述模式中,我们抓获了5组-</p>
<ul>
<li>一个是匹配的完整字符串</li>
<li>其余的按括号顺序排列。。(因此,您正在寻找第二个…)<code>(\\w*)</code></li>
</ul>
<p>如果需要,可以只捕获感兴趣的<code>string</code>部分。。因此,您可以从您不想要的模式的其余部分移除<code>brackets</code>,并保留<code>(\w*)</code></p>
<pre><code>>>> pattern = re.compile("http://www\\.(\\w*)\\.com/\\d+")
>>> matches = patter.search("http://www.someDomainName.com/2134")
>>> if matches:
print matches.group(1)
someDomainName
</code></pre>
<p>在上面的示例中,您将没有<code>groups - 2, 3 and 4</code>,就像在前面的示例中一样,因为我们只捕获了<code>1 group</code>。。是的,总是被捕获。。这是匹配..的完整字符串。。你知道吗</p>