正则-查询

╄→尐↘猪︶ㄣ 提交于 2019-12-04 23:43:09

##re.findall()
re.findall() 返回匹配成功的列表 注意:遇到子组的时候,返回的是子组内容列表
>>> re.findall(r'a[A-Z]\S*','aBC aDE5464')
['aBC', 'aDE5464']

子组findall 返回的是子组内容列表
>>>re.findall(r'(a[A-Z])\S*','aBC aDE5464')
['aB', 'aD']

 

 


##子组re.match().group() 和 re.search().group() 返回第一个匹配内容;前者必须开头匹配,不然报错;后者不限制
>>> re.match(r'(?P<pig>a[A-Z])\S*','aBC aDE5464').group()
'aBC'
>>> re.match(r'(?P<pig>a[A-Z])\S*','aBC aDE5464').group(1) #子组内容
'aB'

 

 


##捕获组 (子组命名)
>>> re.match(r'(?P<pig>a[A-Z])\S*','aBC aDE5464').group()
'aBC'
>>> re.match(r'(?P<pig>a[A-Z])\S*','aBC aDE5464').group(1)
'aB'

re.match().groupdict()子组名:子组内容组成的字段
>>> re.match(r'(?P<pig>a[A-Z])\S*','aBC aDE5464').groupdict()
{'pig': 'aB'}

>>> re.search(r'(?P<pig>a[A-Z])\S*','aBC aDE5464').groupdict()
{'pig': 'aB'}


##迭代器
import re

b = re.finditer(r'a[A-Z]\S*', 'aBC aDE5464')
for i in b:
print(i.group())
aBC
aDE5464

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!