python正则表达式

视频资源:

从网上找资料看了这一块没有特别理解,还是看看视频吧

一、

 正则在线测试工具:RegExr: 学习、构建 和 测试 正则表达式 Test RegEx 

正则练习:

编程胶囊-打造学习编程的最好系统

eg:

1、re.findall() 查找文件中所有的***

 

2、上面方法不能排除句尾,句首等情况,可以采用模糊匹配的方式来解决

正则表达式中一个.表示一个任意的字符,可以是字母、数字等等

eg:打印a开头的三个字母的单词

(1)

 

 (2)过滤掉空格,可以通过[a-z][a-z]这种方式过滤掉

 

 (3)有些但是是其他单词的一部分:左右边留一个空格,即可排除掉右边还有单词的情况

 

(4)只想要一个单词,上面的结果,会出现空格的情况,可以在需要的部分加上小括号,表示只需要小括号里面的部分 

 

 即可打印出左右括号都去掉的结果

(5)去掉重复的单词,使用set

 

 

 (6)如果想要去掉大A和小a只需要,第一个加上A就可以了

 

但是会有一个问题,没有打印出如下的And,因为这个A是开头的位置,可以用*解决,意思是可以匹配一个或者是多个或者是没有

 

解决方式:前面可以有一个空格或者是没有空格

 发现safe的后缀也可以被打印出来

 原因是,用*则A和a前面可以有一个空格,也可以没有空格,所以这里的safe被匹配到了

 解决方式,分成两段过滤

 可以看到上面的匹配结果是一对一对出现的,这样出现的原因是上面的写法有两个(),代表需要同时匹配左边和右边,如果没有,就用空来表示

(8)只想列出单词,不想列出是左边还是右边的规则:

可以把左边的和右边的规则分别拿出来写

 (9)看到还有空,那么把空去掉

 

二、特殊字符总结:

.表示这个地方必须有一个字符,这个字符可以是任意字符

\d表示这个地方必须是一个数字

\d{数字c}表示可以匹配“数字c”个数字

\ d{2,3}可以匹配到两到三个数字

\ d{2}可以匹配两个数字

\w表示匹配一个字母,等同于[A-Za-z]

\w{2,3}表示匹配两个到三个字母

a+表示至少有一个字母a

a*表示可以为空也可以有一个或者任意个a

\d+表示至少有一个数字 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuruhua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值