Python 基础(4)(正则表达式)

512 篇文章 32 订阅
512 篇文章 7 订阅

1,正则表达式

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

re 模块使 Python 语言拥有全部的正则表达式功能。说到底,就是对字符串的匹配,在匹配的基础上你可以进行其他的一些操作。

首先,我们来看一个例子:

Python 基础(4)(正则表达式)

输出结果:

Python 基础(4)(正则表达式)

从这里我们可以看到,re.findall是把找到的字符取出来,能匹配多少就显示多少;但一般没有什么实用。最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以价位:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

r"HE" 符号表示以什么HE字符开头

re.I 表示不区分大小写

r"lili$" 表示以lili结尾的字符

所谓正则表达式,其实就是字符匹配的规则

常用的匹配符有:

Python 基础(4)(正则表达式)

量词:

Python 基础(4)(正则表达式)

注意点:以上量词都是贪婪模式,会尽可能多的匹配,如果要改为非贪婪模式,通过在量词后面跟随一个?来实现

常用断言

image.png

前瞻回顾的解释:

Python 基础(4)(正则表达式)

例如:我们要查找hello,但是hello后面必须是world,正则表达式可以这样写:"(hello)\s+(?=world)",用来匹配"hellowangxing"和"hello world"只能匹配到后者的hello

条件匹配

(?(id)yes_exp|no_exp):对应id的子表达式如果匹配到内容,则这里匹配yes_exp,否则匹配no_exp

接着,我们要看re的几个集成的方法:

Python 基础(4)(正则表达式)

输出结果:

Python 基础(4)(正则表达式)

re.search是匹配到HE,刚好匹配一个,不过这个按组去匹配的,如果正则表达式有多个组,那么把正则放到()里,例如:r’.+(ouyang).?(lens)’ ;最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以价位:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

re.split 是按正则表达式去分词,返回的是一个list对象,\s匹配空字符为分割符

re.match 是较为常用的匹配,一般根据if判断返回结果,来做一些操作

当然,也可以有替换功能的:

Python 基础(4)(正则表达式)

输出结果:

image.png

re.sub是根据正则表达式去匹配;而re.subn 是根据正则表达式去匹配n次

1)分组匹配

Python 基础(4)(正则表达式)

输出结果:

Python 基础(4)(正则表达式)

其实,re.search和re.match用法很相似,都能组匹配这里不多讲了!

2)迭代匹配

最重要的,我会讲讲下面的例子,循环匹配的,可是网上很少搜到这类例子

Python 基础(4)(正则表达式)

输出结果:

image.png

我们可以看到输出的结果是完全一样的;re.finditer 是re.compile的基础做进一步封装的方法;每次迭代返回的是一个sre_match对象,这个对象可以获取匹配的索引,tel.span()就是匹配到字符的索引数值;tel.group就是匹配到的字符了。这个方法很强大,可以再此基础上做一些其他的操作。当然,以后的代码用到,建议直接用re.finditer,尽量少用re.compile,代码简洁一些。

总结:

正则表达式对于所有的开发语言是通过的,所以正则表达式才是最重要的,但不建议去死记硬背。如果真需要匹配某些字符,直接网上搜索就行了,常用的,网上一大堆,而且省去你一大堆测试,确实网上找不到的,你再根据正则表达式的规则去写一个。

Python 基础(4)(正则表达式)

python福利教程领取方式:
1、点赞+评论(勾选“同时转发”)
2、关注小编。并私信回复关键字【19】
(一定要私信哦~点击我的头像就能看到私信按钮了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值