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#的 索引 位置

results matching ""

    No results matching ""