python findall方法_Python_47findall方法

本文详细介绍了正则表达式中findall方法的应用,包括如何使用findall进行匹配和分组,以及如何处理贪婪匹配等场景。通过具体实例展示了findall方法的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值