Python正则表达式-re模块
一、概念
如果要处理的文件比较简单,直接使用字符串匹配就可以了,如下:
那么使用字符串匹配的python代码:
1 def find_start_re(fname): 2 f = open(fname,'r') 3 for line in f: 4 if line.startswith('re'): 5 print(line) 6 f.close() 7 8 find_start_re('re.txt')
执行结果:
单个处理数据和文本,效率不高,不适合数据量大的场景,正则表达式可以解决处理数据量大的情况。
正则表达式概念:
1.使用单个字符串来描述匹配一系列符合某个句法规则的字符串
2.是对字符串操作的一种逻辑公式
3.应用场景:处理文本和数据
4.正则表达式过程:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功,否则匹配失败
二、re模块
re使用的过程
使用举例:
1.
2.
3.匹配时忽略大小写,增加re.I
4.正则表达式语法
*的用法:
+的用法:匹配合理的变量名(必须以‘_’或者字母开头)
?用法:匹配0-99的数字
{m}/{m,n}的用法:匹配合理的126邮箱(@126.com之前是6到10位字符)
*?/+?/??的用法:
正则表达式进行边界匹配
正则表达式进行分组匹配
| 的用法:匹配0-99的数字
(ab)的用法:
\<number>的用法:处理xml文件时会经常用到 <book>python</book>
(?P<name>)、(?P=name)的用法:
三、re的其他方法
因为re模块的match方法是从头开始匹配的,当需要匹配字符串中的子串的时候就不好用了。
search方法:匹配字符串中的数字 'study python = 1000'
findall方法:
sub方法:参数repl有两种方式,一种是本身就是字符串,一种是函数,取函数返回的字符串
split用法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)