上次小编写了正则表达式的用法,今天就小编就讲讲正则表达式再python中的应用,在python中想使用正则表达式就需要导入re模块。
接下来小编将先介绍re模块中几个常见的函数
findall:
re.findall(‘正则表达式’,‘待匹配的内容’)
例1:
输出结果:[‘百’]
例2:
输出结果:[‘1’, ‘2’, ‘3’]
findall:会找出带匹配中所有符合正则表达式的内容
search:从前往后,找到一个就返回,需要调用group才能看;没有就返回None,调用group会报错
例1:
输出结果:1
我们可以看到待匹配的内容中有两个1(这个函数找到一个符合的就返回不会继续匹配)
match:是从头开始匹配,如果匹配到符合正则表达式的就返回一个变量,也需要调用group,没有匹配上就返回None(与search的用法完全一样)
输出结果为空
为什么呢?再来看看下面的例子
输出结果:1
看出来了吧,必须从头开始就符合
split:分割
输出结果:[‘百’, ‘校’, ‘记’, ‘者’, ‘团’, ”]
#先按1分割得‘百’和‘校2记3者4团5’……再‘团5’按‘5’分割得‘团’和‘’
sub:
输出结果:百一校2记3者4团5
#将数字替换为‘一’,参数 1 表示替换几次,不输入参数时默认全换
输出结果:百一校一记一者一团一
subn:返回元组(‘结果’,替换多少次)
输出结果:(‘百一校一记一者一团一’, 5)
finditer:与findall的用法相同,但它返回的是一个迭代器,节省内存
compile:某条正则规则需要多次使用时
输出结果:[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]
注意:findall与split没有分组机制,要分组需要特别对待