说说 Python 正则表达式中,如何实现文本替换

我们可以使用正则表达式实现文本替换,即使用新的文本替换到正则表达式模式所找到的文本。利用 Regex 对象的 sub() 方法来实现,它需要传入两个参数,参数类型都为字符串。第一个参数用于取代正则表达式所发现的匹配。第二个参数为正则表达式。 sub() 方法会返回替换完成后的字符串。

nums_regex=re.compile(r'010-\d+')
result=nums_regex.sub('020','几米的座机电话为 010-4392839、010-4392839')
print(result)

运行结果:

几米的座机电话为 020、020

有时候,我们可能需要使用匹配的文本本身,作为替换的一部分。我们可以在 sub() 的第一
个参数中,比如:输入\1、 \2、 \3……。表示 “在正则表达式所匹配出来的分组 1、 2、 3……的文本”。

part_hide_nums_regex=re.compile(r'010-(\d{2})\d+')
result=part_hide_nums_regex.sub(r'\1*****','几米的座机电话为 010-4392839、010-4192839')
print(result)

运行结果:

几米的座机电话为 43*****、41*****

是不是很简单呀 O(∩_∩)O哈哈~

发布了601 篇原创文章 · 获赞 668 · 访问量 88万+

猜你喜欢

转载自blog.csdn.net/deniro_li/article/details/103831160