正则-查询
Posted chenlulu1122
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则-查询相关的知识,希望对你有一定的参考价值。
##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
以上是关于正则-查询的主要内容,如果未能解决你的问题,请参考以下文章