正则-查询

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

以上是关于正则-查询的主要内容,如果未能解决你的问题,请参考以下文章

关于grep后跟多个正则查询条件的问题

mongodb 正则表达式查询性能问题

Java对mongodb进行正则查询?

MySql基本查询连接查询子查询正则表达查询解说

mysql如何正则匹配查询

使用正则表达式元素数组的 MongoDB 查询 $in