无为清净楼资源网 Design By www.qnjia.com
正则表达式(Regluar Expressions)又称规则表达式,在代码中常简写为REs,regexes或regexp(regex patterns)。它本质上是一个小巧的、高度专用的编程语言。 通过正则表达式可以对指定的文本实现
匹配测试、内容查找、内容替换、字符串分割 等功能。
re模块介绍
Python中的re模块提供了一个正则表达式引擎接口,它允许我们将正则表达式编译成模式对象,然后通过这些模式对象执行模式匹配搜索和字符串分割、子串替换等操作。re模块为这些操作分别提供了模块级别的函数以及相关类的封装。
正则表达式一些小规则
①元字符
②量词
③贪婪和非贪婪匹配
总是在量词范围内尽量多匹配 - 贪婪
总是在量词范围内尽量少匹配 - 惰性
.*"color: #ff0000">Python --> re模块
findall
会优先显示分组内的内容
*****取消优先显示("htmlcode"># search 还是按照完整的正则进行匹配,显示也显示匹配到的第一个内容,但是我们可以通过给group方法传参数 # 来获取具体文组中的内容 ret = re.search('9(\d)(\d)','19740ash93010uru') print(ret) # 变量 -- > <re.Match object; span=(1, 4), match='974'> if ret: print(ret.group()) # --> 974 print(ret.group(1)) # --> 7 print(ret.group(2)) # --> 4 # findall # 取所有符合条件的,优先显示分组中的 # search 只取第一个符合条件的,没有优先显示这件事儿 # 得到的结果是一个变量 # 变量.group() 的结果 完全和 变量.group(0)的结果一致 # 变量.group(n) 的形式来指定获取第n个分组中匹配到的内容 # 加上括号 是为了对真正需要的内容进行提取 ret = re.findall('<\w+>(\w+)</\w+>','<h1>askh930s02391j192agsj</h1>') print(ret) # --> ['askh930s02391j192agsj']其他的内容在代码中有详细的注释,大家可以复制我的代码一步一步运行然后实验
以下的内容有:
split sub subn math,compile,finditer
# split sub subn math,compile,finditer # split res = re.split('\d+', "cyx123456cyxx") print(res) # --> ['cyx', 'cyxx'] res = re.split('(\d+)', "cyx123456cyxx") # 保留分组 print(res) # --> ['cyx', '123456', 'cyxx'] # sub 替换 res = re.sub('\d+', '我把数字替换了', "cyx123456cyxxx123456") # 默认全部替换,当然也可以替换一次re.sub('\d+','我把数字替换了',"cyx123456cyxxx123456",1) print(res) # --> cyx我把数字替换了cyxxx我把数字替换了 # subn 替换了并显示替换的次数 res = re.subn('\d+', '我把数字替换了', "cyx123456cyxxx123456") print(res) # --> ('cyx我把数字替换了cyxxx我把数字替换了', 2) # match 这个就相当与加了个^ (和search差不多) --> 主要用来规定这个字符号必须是什么样的 res = re.match('\d+', 'cyx123456cyxxx') print(res) # --> None res = re.match('\d+', '123cyx456cyxxx') print(res.group()) # --> 123 # compile -- 节省代码的时间的工具 # 假如同一个正则表达式要被使用多次 # 节省了多次解析同一个正则表达式的时间 ret = re.compile("\d+") res = ret.search("cyx12456cyxXX123") print(res.group()) # --> 12456 # finditer --> 节省空间 ret = re.finditer("\d+", "cyx123456cyxxx125644") for r in ret: print(r.group()) # --> 123456 # 125644 # 怎么又节省时间又节省空间呢? ret = re.compile('\d+') res = ret.finditer("cyx222231fddsf45746sdf2123sdf56456sdf10123sdf123132sdf") for r in res: print(r.group()) """ 222231 45746 2123 56456 10123 123132 """ # 分组命名("htmlcode">ret = filter(lambda n: n, lis) print(list(ret)) # --> ['z', 'c', 'asd', 'sdf', 'asd']总结
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年11月19日
2024年11月19日
- 好薇2024《兵哥哥》1:124K黄金母盘[WAV+CUE]
- 胡歌.2006-珍惜(EP)【步升大风】【FLAC分轨】
- 洪荣宏.2014-拼乎自己看【华特】【WAV+CUE】
- 伊能静.1999-从脆弱到勇敢1987-1996精选2CD【华纳】【WAV+CUE】
- 刘亮鹭《汽车DJ玩主》[WAV+CUE][1.1G]
- 张杰《最接近天堂的地方》天娱传媒[WAV+CUE][1.1G]
- 群星《2022年度发烧天碟》无损黑胶碟 2CD[WAV+CUE][1.4G]
- 罗文1983-罗文甄妮-射雕英雄传(纯银AMCD)[WAV+CUE]
- 群星《亚洲故事香港纯弦》雨果UPMAGCD2024[低速原抓WAV+CUE]
- 群星《经典咏流传》限量1:1母盘直刻[低速原抓WAV+CUE]
- 庾澄庆1993《老实情歌》福茂唱片[WAV+CUE][1G]
- 许巍《在别处》美卡首版[WAV+CUE][1G]
- 林子祥《单手拍掌》华纳香港版[WAV+CUE][1G]
- 郑秀文.1997-我们的主题曲【华纳】【WAV+CUE】
- 群星.2001-生命因爱动听电影原创音乐AVCD【MEDIA】【WAV+CUE】