match 和 search 的区别
match是从字符串开头匹配,而search是在整个字符串中匹配。
如:p = re.compile('[a-z]+')
p.match(':::message')
None
因为开头是':'因此无法匹配
而 m = p.search(':::message')
print m
>>>> <re.MatchObject instance at 80c9650>
因为m是一个对象,re.MatchObject
应该要print m.group()>>> 'message'
除了这两个,还有findall()
p = re.compile('\d+')
m = p.findall('11 asdfasdf 12 dasfsadf 13 dsafdasfasdf')
可以得到的是['11','12','13']这样的格式
当然,其实可以直接用search函数,而不用先用compile函数再对返回的对象用search
re.search('[msag]*' , ':::meesage'),返回的应该是m 和 ssag。