正则表达式--python(表示字符)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式--python(表示字符)相关的知识,希望对你有一定的参考价值。

【前修知识】

match :匹配    span:范围

match 是从头往后开始匹配,search不按照顺序,直接获取自己想要的,有就显示,没有就None

r 代表反转义,前面也提到过这个知识,如果我们在获取东西的过程中,都不需要反转义的东西,往前就加个r就行,如果是有特殊含义的就给反转义,没有特殊含义的也没事

我们只需要记住,正则表达式:符号+方法

 

1、为什么用到正则表达式?

帮我们匹配内容,获取里面的信息

如果使用切片,下标什么的太过于麻烦,再加上如果开发者在写的时候打了空格,而你可能不知道空格多少,会发生一些错误,换言之需要一个能准确提取信息的方法

技术分享图片

正则表达式的流程是:先匹配再提取

 

2、正则表达式的基本特征

-----先进行导入正则,分析结果,得到一个match对象,下标范围是(0,3),匹配内容是www

技术分享图片

我们用group来获取匹配的内容

技术分享图片

接下来,来观察匹配的性质,对于match来说,是从前往后匹配的

这个例子可以看出,无法匹配显示None(可以理解一点None就是一个假的,None没有任何属性),更别说想拿到你本想匹配的taobao

技术分享图片

对于search来说,就直接搜索这个匹配内容

技术分享图片

3、正则表达式的延伸

3.1、表示字符的

 

技术分享图片

 

1、从头开始匹配的,且匹配一个字符(.)

技术分享图片

 

2、就是在[ ]里面任取一个进行匹配,而match的方法呢,是从前往后的,获取匹配的结果自然从前往后

---没有

技术分享图片

[ ]里面其实是三个都有,任取一个,而方法是从前往后

技术分享图片

 

验证上面

技术分享图片

【将两个正则放一块的效果】

放入中括号里面的点,特殊含义已经失效,普通字符点(.)

 

技术分享图片

【a到z任意一个】

技术分享图片

如果换用大写的范围,直接放到后面,要明白这个意思,加空格可代表一个字符

技术分享图片

【0到9任意一个】

技术分享图片

----【改用search方法效果】

任取一个,不就a

技术分享图片

3、专门匹配数字,也就是0到9的(专业)(\d)

 

技术分享图片

4、专门匹配非数字(\D)

 

技术分享图片

 

技术分享图片

5、匹配空白,也就是空格(\s)--常用

匹配非空格(\S)

 

技术分享图片

点是默认一个长度,点是不能匹配换行

技术分享图片

可以看出,能够获取空白字符串

技术分享图片

\t 也能拿到空格

技术分享图片

\n 也能拿到空格

技术分享图片

【后面是陆续增加方法:】

技术分享图片

6、匹配单词(\w)--匹配所有的文字、下划线和数字

特殊字符

技术分享图片

汉字

技术分享图片

标点符号

技术分享图片

数字

技术分享图片

下划线

技术分享图片

 

技术分享图片
技术分享图片

------第二个只能匹配ASCLL码,所以报错

技术分享图片

7、中文

默认匹配unicode

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

 

技术分享图片
技术分享图片



以上是关于正则表达式--python(表示字符)的主要内容,如果未能解决你的问题,请参考以下文章

python3的正则表达式(regex)

python正则表达式re

Python:正则表达式*+?的用法

正则表达式--python(表示字符)

python re库入门(正则表达式)

python正则表达式