re_整理

本文介绍了Python中正则表达式的几种主要使用方法,包括re.match(), re.search(), re.findall() 和 re.finditer(),并通过具体示例展示了如何进行字符串匹配、搜索与提取。

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

re.match()   从头匹配,要匹配对象的头

re.search()  浏览全部字符串,匹配第一个符合规则的字符串

re.findall() 匹配所有符合规则的字符串放置列表中

re.finditer()


#简单模式

#分组模式

Match

import re
orgin='hello1 alex'
r=re.match('h\w+',orgin)
#获取匹配到的所有结果
print(r.group())
#获取模型中匹配到的分组结果
r1=re.match('h(\w+)',orgin)
print(r1.groups())
#获取模型中匹配到的分组所有执行了的key的组
r2=re.match('(?P<a>h)\w+',orgin)
print(r2.groupdict())

>>>
hello1
('ello1',)
{'a': 'h'}

这里面用match 就不合适,这个字符串的开头是a

import re
orgin='hello1 alex bcd alex lge alex acd 19'
#a开头(所有数字字母下划线出现一次或多次)所有字符零次到多次
r=re.search('a(\w+).*(?P<num>\d)',orgin)
print(r.group())
print(r.groups())
print(r.groupdict())

>>>>
alex bcd alex lge alex acd 19
('lex', '9')
{'num': '9'}

findall

import re
n = re.findall('\d\w\d','a2b3c4d5')
#可以用空格匹配
n1=re.findall('','a2b3c4d5')
print(n,n1)


orgin ='hello1 alex bcd alex lge alex acd 19'
#把groups返回的都放在一个列表中 ,按组分
n2=re.findall('(a)(\w+)',orgin)
print(n2)

#多次匹配相同的时候
a='alex'
#打印x 相同的取最后一个['x']+
print(re.findall('(\w)+',a))


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值