>>> 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
在上述模式中,我们捕获了 5 个组 -
- 一个是匹配的完整字符串
- 其余的按照你看到的括号的顺序..(所以,你正在寻找第二个..) -
(\\w*)
如果你愿意,你可以只捕获string
你感兴趣的部分。所以,你可以brackets
从模式的其余部分中删除你不想要的部分,只保留(\w*)
>>> pattern = re.compile("http://www\\.(\\w*)\\.com/\\d+")
>>> matches = patter.search("http://www.someDomainName.com/2134")
>>> if matches:
print matches.group(1)
someDomainName
在上面的例子中,你不会groups - 2, 3 and 4
像前面的例子那样有 .. 因为我们只捕获了1 group
.. 并且总是捕获了 yes group 0
.. 那是匹配的完整字符串..