re是正则的表达式,sub是substitute表示替换
re.sub是相对复杂点的替换
re.sub(pattern, repl, string, count=0, flags=0)
re.sub的参数:5个参数
参数1:pattern
表示正则中的模式字符串。
参数2:repl
就是replacement,表示被替换的字符串,可以是字符串也可以是函数。
参数3:string
表示要被处理和替换的原始字符串
参数4:count
可选参数,表示是要替换的最大次数,而且必须是非负整数,该参数默认为0,即所有的匹配都会被替换;
参数5:flags
可选参数,表示编译时用的匹配模式(如忽略大小写、多行模式等),数字形式,默认为0。
例子:
只替换前两个
import re
a = '44444'
b = re.sub('4', '2', a, 2)
print(b)
匹配多个连续汉字
import re
a = ' (rr 我)#1 (d 只是)#1 (p 以)#1 (vi 笑) (v 作答)#1#2#3 (。 。)'
a = re.sub(u"[\u4e00-\u9fa5]+", '*', a) # 匹配多个连续汉字,替换为*
print(a)
匹配除了汉字之外的其他符号
# 正则表达式 u"[\u4e00-\u9fa]" 表示所有的汉字 [^...] 表示除了...之外
a = '“设置文件名,怎么样?”'
a = re.sub(u"[\u4e00-\u9fa]", '', a)
print(a) # 设置文件名怎么样
详见:re.sub()用法的详细介绍_jackandsnow的博客-CSDN博客_re sub
(160条消息) python 正则表达式模式_m0_46483236的博客-CSDN博客_python 正则表达式模式