1、应用范围
findall把匹配到的东西,都放到列表里边
print (re.findall("\d+\w\d+","a2d3d4r5st6y7u"))
输出结果为:['2d3', '4r5', '6y7']
print (re.findall("","a2d3d4r5st6y7u"))
输出结果为:['', '', '', '', '', '', '', '', '', '', '', '', '', '', '']
testss='helloss alex bcd alex dd acd 19s'
r=re.search('a(\w+)',testss)
print (r.group())
输出结果为:alex
testss='helloss alex bcd alex dd acd 19s'
r=re.findall('a(\w+)',testss)
print (r)
输出为:['lex', 'lex', 'cd']
testss='helloss alex bcd alex dd acd 19s'
r=re.findall('(a)(\w+)',testss)
print (r)
输出结果为:[('a', 'lex'), ('a', 'lex'), ('a', 'cd')]
findall方法是没有字典的
testss='helloss alexe bcd alex dd acd 19s'
r=re.findall('(a)(\w+(e))(x)',testss)
print (r)
输出结果是:[('a', 'le', 'e', 'x'), ('a', 'le', 'e', 'x')]
testss='helloss alexe bcd alex dd acd 19s'
r=re.findall('(a)(\w+(e))(x)(?Px)',testss)
print (r)
输出结果是:[]
testss='helloss alexe bcd alex dd acd 19s'
r=re.finditer('(a)(\w+(e))(?Px)',testss)
print (r) #输出结果是可以被调用的迭代
for i in r:
print (i)#这个i就是和match到的结果是一样的 也有group。。。。。
输出结果是:
import re
a='alex'
n=re.findall('(\w)+',a)
print (n) #输出['x'] 带‘+’号贪婪匹配,取最后一个分组
n=re.findall('(\w+)',a)
print (n)#输出['alex']
n=re.findall('(\w)',a)
print (n)#输出['a', 'l', 'e', 'x']
n=re.findall('(\w)*',a)
print (n)#输出['x', '']
n=re.findall('(\d\w\w\w)','1qsx2wdc3edccee4rf5tgddd7uj')
print (n)#输出['1qsx', '2wdc', '3edc', '4rf5']
n=re.findall('(\d\w\w\w)*','1qsx2wdc3edccee4rf5tgddd7uj')
print (n)#输出['3edc', '', '', '', '4rf5', '', '', '', '', '', '', '', '', '']
匹配条件 加了()就是分组匹配的了
2、