当前位置:首页 > 生活百科

python使用正则表达式(python正则表达式怎么使用)

栏目:生活百科日期:2025-02-04浏览:0

1.1 介绍

福哥今天要给大家讲讲Python的正则表达式的使用技巧,正则表达式(Regular expressions)就是通过一系列的特殊格式的匹配符号去描述一个字符串的工具。

使用正则表达式可以快速检测字符串的格式,也可以从字符串里面查找出符合特定规则的字符串片断,还可以将字符串按照特定的规则替换或者重组成新的字符串。

2. 正则表达式

2.1 表达式

2.1.1 re.compile

使用re.compile方法可以定义一个pattern,用来使用其他方法调用这个pattern。

url?=?"https://tongfu.net/home/35.html"pattern?=?re.compile(r"tongfu.net",?re.I)print(re.findall(pattern,?url))

2.1.2 re.template

re.template方法和re.compile方法类似,可以达到相同的目的。

url?=?"https://tongfu.net/home/35.html"pattern?=?re.template(r"tongfu.net",?re.I)print(re.findall(pattern,?url))

2.2 匹配

2.2.1 re.match

re.match可以实现使用pattern去匹配字符串,结果是一个对象,可以有很多功能可以使用。

re.match是从字符串开头进行匹配的,pattern如果不包含字符串开头部分的话,匹配一定会失败!

url?=?"https://tongfu.net/home/35.html"match?=?re.match(r"https://([^/]+)/home/(d+).html",?url)print(match.group())print(match.groups())

2.2.2 re.search

re.search和re.match类型,区别在于re.search不是从字符串开头匹配的。

如果我们的pattern本身就是从字符串开头匹配的话建议使用re.match,因为效率它更快!

url?=?"https://tongfu.net/home/35.html"match?=?re.search(r"home/(d+).html",?url)print(match.group())print(match.groups())

2.2.3 re.findall

re.findall可以直接返回一个tuple数组,而且可以实现多组匹配。

urls?=?"https://tongfu.net/home/35.html,"????????"https://tongfu.net/home/8.html"matches?=?re.findall(r"https://([^/]+)/home/(d+).html",?urls)print(matches)

2.3 替换

2.3.1 re.sub

使用re.sub可以将pattern匹配的字符串片断替换为我们想要的内容,这里面还可以将pattern中的匹配组应用到替换内容里面。

urls?=?"https://tongfu.net/home/35.html,"????????"https://tongfu.net/home/8.html"matches?=?re.sub(r"/home/(d+).html",?r"/homepage/1.htm",?urls)print(matches)

2.3.2 re.subn

re.subn和re.sub在字符串替换功能上面没有区别,re.subn比re.sub多了一个替换次数的统计,这个会在返回值里面体现出来。

urls?=?"https://tongfu.net/home/35.html,"????????"https://tongfu.net/home/8.html"matches?=?re.subn(r"/home/(d+).html",?r"/homepage/1.htm",?urls)print(matches)

2.4 修饰符

修饰符就是参数flags,用来对pattern进行一个补充。

修饰符描述

re.I忽略大小写敏感,就是不管大小写问题,字母对就算匹配了。re.L本地化识别匹配。re.M多行匹配,默认正则表达式会在遇到换行符后结束匹配,设置这个之后就会一直匹配到末尾。re.S使字符“.”匹配换行符,默认字符“.”是不包括换行符的。re.U使用Unicode解析字符串,它会影响“w”,“W”,“b”,“B”的作用。re.X这个福哥还没有研究过,官方说法就是可以让编写pattern更加简单。

3. 总结

今天福哥带着童鞋们学习了Python的正则表达式库re的使用技巧,正则表达式在各种语言的编程时候都是非常重要的库,使用正则表达式可以让我们处理字符串变得更加简单、更加优雅~~

“python使用正则表达式(python正则表达式怎么使用)” 的相关文章

ssd速度测试工具(硬盘改AHCI模式)

前几天我们测试了《穿越火线HD》这款游戏,这是腾讯对经典的《穿越火线》游戏进行了高清化重制,改进主要是使用了虚幻3引擎并且将分辨率提升至1080P级别,同时物体...

2023年各大快递公司收费标准(速览各大快递收费新规)

DHL、Fedex、UPS等国际快递2021年怎么收费呢?2020年是国际快递风起云涌的一年,因为疫情的缘故,导致国际航班不足、运力紧张,各承运商纷纷上调运价,...

免费广告推广平台有哪些,简述付费广告与免费广告的区别

1、https://www.click.in从域名来看,是印度域名。这个网站alexa排名在3万多,还是有访问量的。这个网址允许免费发布各种广告,如下图2、ht...

vue性能优化有哪些(vue常见的性能优化方式)

随着互联网的发展,越来越多的公司都在使用Vue但是随着项目的越来越大,难免的会带来一系列的性能问题,笔者也为了这些问题而感到头疼,也同样的针对Vue的性能优化进...

web界面设计工具的使用(frontpage制作网页教程)

在CS大行其道的时候,各种各样的工具都是CS的模样,因为在当时人们的眼中唯有这样才是王道,这一切到后来的浏览器的流行才得以改变。于是乎,越来越多的应用搬到的网页...

公众号推广方式有哪些(最可取的5种推广方式)

关于公众号推广这是很多公众号运营者比较关注的话题,它分为广告主、流量主、返佣商品推广这3种,也就是公众号的收入来源。广告主流量主返佣商品推广第一、流量主符合一定...

excel太大怎么缩小(excel表格求积操作方法)

Excel表异常变大又慢又卡,如何瘦身减肥?工作中常会遇到一些Excel表,明明里面没几条数据,保存后容量却很大,几十M甚至上百M,十分诡异!这种文件不但打开慢...

unity2d游戏制作教程(详解unity2d开发案例分析)

可能有的朋友还不知道,Unity3D是由UnityTechnologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平...

ipad时钟屏保怎么设置(设置ipad时钟屏保的小技巧)

这段时间“小神兽们”在家上网课,大家担心孩子的视力安全吗?我会。我家两个孩子的眼睛度数一直都很好,所以我很担心好不容易照顾好的视力,一朝回到解放前。春节前才刚带...

女包批发货源在哪里(包包批发市场进货攻略)

最近有个同学来问,老师,我是做高fang女包批发的,我的货很正,想月入过万,到哪个平台去引流好点?  问:我的理解没错的话,你是要卖包,批发招代理?  答:是的...