re.match() 从头匹配,要匹配对象的头
re.search() 浏览全部字符串,匹配第一个符合规则的字符串
re.findall() 匹配所有符合规则的字符串放置列表中
re.finditer()
#简单模式
#分组模式
Match
import re
orgin='hello1 alex'
r=re.match('h\w+',orgin)
#获取匹配到的所有结果
print(r.group())
#获取模型中匹配到的分组结果
r1=re.match('h(\w+)',orgin)
print(r1.groups())
#获取模型中匹配到的分组所有执行了的key的组
r2=re.match('(?P<a>h)\w+',orgin)
print(r2.groupdict())
>>>
hello1
('ello1',)
{'a': 'h'}
这里面用match 就不合适,这个字符串的开头是a
import re
orgin='hello1 alex bcd alex lge alex acd 19'
#a开头(所有数字字母下划线出现一次或多次)所有字符零次到多次
r=re.search('a(\w+).*(?P<num>\d)',orgin)
print(r.group())
print(r.groups())
print(r.groupdict())
>>>>
alex bcd alex lge alex acd 19
('lex', '9')
{'num': '9'}
findall
import re
n = re.findall('\d\w\d','a2b3c4d5')
#可以用空格匹配
n1=re.findall('','a2b3c4d5')
print(n,n1)
orgin ='hello1 alex bcd alex lge alex acd 19'
#把groups返回的都放在一个列表中 ,按组分
n2=re.findall('(a)(\w+)',orgin)
print(n2)
#多次匹配相同的时候
a='alex'
#打印x 相同的取最后一个['x']+
print(re.findall('(\w)+',a))