1.match
match(pattern, string, flags=0)
从首字母开始匹配,如果string包含pattern子串,就匹配成功返回Match对象;如不包含就匹配失败,则返回None。
2.search
search(pattern, string, flags=0)
若string中包含pattern子串,就匹配成功返回Match对象;如不包含就匹配失败,则返回None。
3.findall
findall(pattern, string, flags=0)
返回string中所有与pattern相匹配的全部字串,返回形式为数组。
4.finditer
finditer(pattern, string, flags=0)
返回string中所有与pattern相匹配的全部字串,返回形式为iterator,iterator的容器是Match对象。
match和search都是返回Match对象,在如果string中存在多个pattern子串,只返回第一个。获取匹配结果则需要调用Match对象的group()、groups或group(index)。
例子:
>>> import re
>>> content='3523wrwpepe2334kwoiero'
>>> pattern=r'(\d*)([a-zA-Z]*)'
>>> match_result=re.match(pattern,content)
>>> print "match:",match_result.group()
match: 3523wrwpepe
>>> search_result=re.search(pattern,content)
>>> print "search:",search_result.group()
search: 3523wrwpepe
>>> re_findall=re.findall(pattern,content)
>>> print "findall:"
findall:
>>> for item in re_findall:
... print item
...
('3523', 'wrwpepe')
('2334', 'kwoiero')
('', '')
>>> finditer=re.finditer(pattern,content)
>>> print "finditer"
finditer
>>> for item in finditer:
... print item.group()
...
3523wrwpepe
2334kwoiero