python RE库的基本使用

本文介绍了Python的RE库,包括常用的操作符如{n}、^、$、()、d、w等,以及re.search、re.match、re.findall、re.split、re.finditer和re.sub等基本函数的用法。还提到了匹配选项如re.I、re.M、re.S,以及match对象的属性和方法。最后讨论了贪婪匹配和最小匹配的概念。

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

RE库常用的操作符

{n} :扩展前一个字符n次      例:abc{3}表示abccc

{m,n} :扩展起一个字符m至n次  例:ab{2,3}c表示abbc,abbbc

^:匹配一个字符串的开头         例:^abc  表示匹配以abc开头的字符串 

$:匹配一个字符串的结尾            例:abc$ 表示匹配以abc结束的字符串

():分组标记                               例:(abc) 表示abc

\d:表示数字0-9

\w:表示[A-Za-z0-9]

. :表示任何单个字符

[]:字符集,对单个字符给出取值范围     例:[abc] 表示a ,b,c中的一个

|:         选择符                              例: abc|def    表示abc或def的一个

[^]: 非字符集  ,对单个字符给出排除范围   例:[^abc]表示非a,非b,非c中的一个

*:表示前一个字符的0次或无限次扩展     例 :abc*表示 ab,abc,abcc,abccc  abc....

+:表示前一个字符的1次或无限次扩展

?:表示前一个字符的0次或1次扩展


以上常用操作符都要记住


RE库的基本函数

re.search(正则表达式,匹配字符串,控制选项)  在字符串中匹配需要的字符串的首次出现,返回match对象

re.match(正则表达式,匹配字符串,控制选项) 从字符串的开始位置匹配需要的字符串,返回match对象

re.findall(正则表达式,匹配字符串,控制选项) 返回全部能匹配到的字符串,返回列表

re.split(正则表达式,匹配字符串,分割最大数,控制选项)将字符串按照要求匹配,将不匹配的地方返回为列表类型

re.finditer(正则表达式,匹配字符串,控制选项)搜索字符串,返回可迭代的match类型

re.sub(正则表达式,替换字符,匹配字符串,匹配最大次数,控制选项)将匹配到的字符按要求更换为其他字符,并返回替换后的字符串

控制选项:

re.I:忽略正则表达式的大小写区分

re.M:正则表达式中的“^”使匹配从每行的头开始匹配

re.S:使正则表达式的"."能够匹配所有字符,默认的‘.’能匹配除换行符以外的字符

match对象的属性:

match.string 返回待匹配的文本

match.re  返回正则表达式

match.pos  正则表达式开始搜索的位置

match.endpos 正则表达式搜索结束的位置


match对象的方法:

match.group(0):获得匹配后的字符串

match.start(): 匹配字符串在原字符串的开始位置

match.end():匹配字符串子啊原字符串结束的位置

match.span():返回(match.start(),match.end())的元组


RE库的贪婪匹配和最小匹配:

(r'ab.*g','abcgwegwrtg')

如果没有贪婪匹配机制

那么他能匹配的有:abcg,abcgweg,abcgwegertg这三种,所以默认会匹配最长的字符串

如果想让他变成最小匹配只要在需要多次匹配的字符串后面加“”即可


本人也是小白,以上均为我观看嵩天老师的课后笔记,均为个人理解


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值