python之正则匹配match:search findall

match:从开头位置匹配,只匹配一次,开头匹配不上,则不继续匹配 a,b,\w+
match(a,"abcdef") 匹配a
>>> re.match("a","abcdef").group()
'a'
match(b,"abcdef")
>>> print re.match("b","abcdef")
None
match("\w+","abcdef")
search ,从任意位置匹配,只匹配一次,匹配不上则不继续匹配 a ,b,\w+
>>> re.search("a","abcdef abc 123 456").group()
'a'
>>> re.search("b","abcdef abc 123 456").group()
'b'
 
>>> re.search("\w+","abcdef abc 123 456").group()
'abcdef'
 
findall
注:findall 返回列表 ,列表不能group()
 
>>> print re.findall(r"b","abcdef abc 123 456")
['b', 'b']
 
>>> print re.findall(r"a","abcdef abc 123 456")
['a', 'a']
 
>>> print re.findall(r"\w+","abcdef abc 123 456")
['abcdef', 'abc', '123', '456']
 
总结:

match 必须从开始匹配上,则输出结果,匹配不到则返回none
search 从任意位置开始匹配,匹配一次成功则输出,后面不继续匹配
以上两种都有group()同group(0),全部打印,group(1)匹配第一个元祖
findall 分组 ()下标从0开始,代表输出第一个列表元素

 

posted @ 2018-03-07 11:13  定静沉行  阅读(1203)  评论(0编辑  收藏  举报