正则表达式re模块
re模块用法:
1、res = re.match('^Liang', 'Liangshuhui') # 如果匹配则有返回,否则为空。注意:match是从头开始匹配,在此处^没用
2、re.search比较常用
3、re.findall
4、res.group() # 查找匹配到的模式
5、re.split(pattern, string, maxsplit=0, flags=0) #分割
6、re.sub(pattern, repl, string, count=0, flags=0) #替换
常用正则表达式符号:
1、".":匹配除\n外的所有符号
2、"^":匹配字符开关
3、$:匹配字符结尾
4、+:匹配前一个字符1次或多次
5、?:匹配前一个字符0次或1次
6、{m}:匹配前一个字符m次
7、{n,m}:匹配前一个字符n到m次
8、|:匹配其左边或右边的字符
9、(...):分组匹配
10、\A:和^一样
11、\Z:和$一样
12、\d:匹配数字
13、\D:匹配非数字
14、\w:匹配[a-zA-Z0-9]
15、\W:与\w相反,即特殊字符
16、'\s':匹配空白字符,\t \n \r
17、(?p<name>...):分组匹配
如:
A、re.search('(?P<province>[0-9]{2})(?P<city>[0-9]{2})(?P<town>[0-9]{2})', '440181198112248118').groupdict()
{'province': '44', 'city': '01', 'town': '81'}
B、res = re.search('(?P<province>[0-9]{2})(?P<city>[0-9]{2})(?P<town>[0-9]{2})', '440181198112248118').group('city')
res
'01'
C、
re.search('(?P<province>[0-9]{2})(?P<city>[0-9]{2})(?P<town>[0-9]{2})', '440181198112248118').group()
'440181'
18、匹配反斜杠:建议r'\\'
匹配模式:
re.I:忽略大小写
re.DOTALL或re.S:单行模式改变了点号(.)的匹配行为
re.M:多行模式,在多行模式下,^除了匹配整个字符串的起始位置,还匹配换行符后面的位置;$除了匹配整个字符串的结束位置,还匹配换行符前面的位置.
非贫婪模式切换:在"*","?","+","{m,n}"后面加上?,使贪婪变成非贪婪
前瞻后顾:未完待上
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」