25、re模块

本文详细介绍了Python正则表达式的匹配规则,包括元字符、特殊分组和re模块的常用函数,如`findall`、`match`和`sub`等,并通过实例演示了如何在实际项目中运用这些技术来处理字符串和替换内容。
摘要由CSDN通过智能技术生成

正则re模块

作用:正则表达式是用来匹配处理字符串的
正则表达式的匹配规则
匹配规则说明
元字符表
^单行匹配以某字符开头的字符串,多行匹配已某字符开头的行
$单行匹配以某字符结尾的字符串,多行匹配以某字符结尾的行
.匹配任意单个字符
*匹配*号前字符出现0次或多次的字符串,相当于{0,}
匹配?号前字符出现0次或1次的字符串,相当于{0,1}
+匹配+号前字符出现1次或多次的字符串,相当于{1,}
[]匹配字符集中的任意一个字符,[^] 表示取反 ^ [] 表示以字符集内任意字符开头
{}指定匹配{}前字符出现的次数,{m,n}
()将()内的字符串看作一个整体进行处理,分组
|或,
预定于字符表,可以写在字符集中
\d只匹配字符串中的数字
\D配置字符串中除数字的任意字符串
\s匹配任何空白字符
\S匹配任何非空白字符
\w匹配任何字母包含下划线
\W匹配任何非字母包含下划线
\b匹配字符串的边界
特殊分组用法表
(?P<n1>name)匹配到name格式的字符串作为value,n1作为key,使用groupdict输出为字典
(?P=name)引用为name的分组匹配到字符串
\number引用编号为number的分组匹配到的字符串
re模块的使用
import re
res=re.findall("\s","https://jira.yovole.tech/secure/StructureBoard.jspa?s=22")
print(res,type(res))

## match 匹配字符串开始位置合规的第一个字符串,无则返回None
## search   匹配全局合规的第一个字符串
import re
origin="https://jira.yovole.tech/secure/StructureBoard.jspa?s=22,"
res1=re.match('j\w',origin)
res2=re.search('j\w',origin)
print(res1,res2)
print(res2.group())
------
res3=re.search('j(\w+)',origin)
print(res3.groups())
---
res4=re.search('(?P<n1>j)(?P<n2>\w+)',origin)
print(res4.groupdict())

## findall 匹配字符串中所有符合匹配规则的字符串,成功匹配的字符串不再参与下次匹配
res5=re.findall('/\w',origin)
print(res5)

res6=re.findall('s(\w+)',origin)  #匹配的元组部分组成列表
print(res6)

res7=re.findall('(s)(\w+)',origin)  #两个元组匹配出出来字符串形成元组,然后这些元组组成列表
print(res7)

## split
res7=re.split('/',origin)  #以指定字符串作为分隔符,形成列表
print(res7)

## sub
res8=re.sub("h","我",origin)  #替换匹配到的字符串
print(res8)

#subn
a,b=re.subn('h',"牛",origin)  #返回替换后的字符串和替换次数
print(a,b)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据工匠大壮

请狠狠粗暴的爱我!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值