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

时间:2024-01-23 19:16:04

【前修知识】

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]