python 正则数字替换为空_python的正则表达式

  • Post author:
  • Post category:python


上次小编写了正则表达式的用法,今天就小编就讲讲正则表达式再python中的应用,在python中想使用正则表达式就需要导入re模块。

接下来小编将先介绍re模块中几个常见的函数

findall:

re.findall(‘正则表达式’,‘待匹配的内容’)

例1:

4f857f57ee69bfd7c0f1ee73a45de2ad.png

输出结果:[‘百’]

例2:

dcaf0948bf7a53f308abdfe3a989f50f.png

输出结果:[‘1’, ‘2’, ‘3’]

findall:会找出带匹配中所有符合正则表达式的内容

search:从前往后,找到一个就返回,需要调用group才能看;没有就返回None,调用group会报错

例1:

3f5af9fedfa2583d197529ae983f65ec.png

输出结果:1

我们可以看到待匹配的内容中有两个1(这个函数找到一个符合的就返回不会继续匹配)

match:是从头开始匹配,如果匹配到符合正则表达式的就返回一个变量,也需要调用group,没有匹配上就返回None(与search的用法完全一样)

30eef409332a3462f00ddf74c219ae91.png

输出结果为空

为什么呢?再来看看下面的例子

155ed531316baf6193f9a29e2ad00b1e.png

输出结果:1

看出来了吧,必须从头开始就符合

split:分割

83521b2d4d02c11975cdbbfb588faf95.png

输出结果:[‘百’, ‘校’, ‘记’, ‘者’, ‘团’, ”]

#先按1分割得‘百’和‘校2记3者4团5’……再‘团5’按‘5’分割得‘团’和‘’

sub:

5a909d3230e293e1e5c6f362536b3e2d.png

输出结果:百一校2记3者4团5

#将数字替换为‘一’,参数 1 表示替换几次,不输入参数时默认全换

0408856687fb98c5cf9ea28b59963b21.png

输出结果:百一校一记一者一团一

subn:返回元组(‘结果’,替换多少次)

677ef5798c0c3de1b7b24eb42e7b3e8f.png

输出结果:(‘百一校一记一者一团一’, 5)

finditer:与findall的用法相同,但它返回的是一个迭代器,节省内存

compile:某条正则规则需要多次使用时

581a89659802ad78983209ac4779cad7.png

输出结果:[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]

注意:findall与split没有分组机制,要分组需要特别对待



版权声明:本文为weixin_32374723原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。