re.sub
正则替换
import re
language ='PythonC#JavaC#PHP'
# python内置替换函数replace
l = language.replace('C#','Go')
print(language) # PythonC#JavaC#PHP
print(l) # PythonGoJavaGoPHP
r = re.sub('C#','GO',language,1)
print(r) # PythonGOJavaC#PHP
r = re.sub('C#','GO',language,2)
print(r) # PythonGOJavaGOPHP
re.sub
强大之处在于第二个参数可以是函数
import re
def convert(value):
print(value)
match = value.group()
return "!!"+match+"!!"
language ='PythonC#JavaC#PHP'
r = re.sub('C#',convert,language,2)# 最后一个参数1表替换的个数
print(r)
<re.Match object; span=(6, 8), match='C#'>
<re.Match object; span=(12, 14), match='C#'>
Python!!C#!!Java!!C#!!PHP
span=(6, 8)
,表示匹配到的C#的 索引 位置