【从零学习python 】67.Python中的re模块:正则替换与高级匹配技术

2024-02-29 20:19:44 浏览数 (1)

正则替换

Python中的re模块提供了re.sub用于替换字符串中的匹配项。

语法:

代码语言:javascript复制
re.sub(pattern, repl, string, count=0)

参数:

  • pattern:正则中的模式字符串。
  • repl:替换的字符串,也可为一个函数。
  • string:要被查找替换的原始字符串。
  • count:模式匹配后替换的最大次数,默认0表示替换所有的匹配。

示例代码:

代码语言:javascript复制
phone = "2004-959-559 # 这是一个电话号码"

# 删除注释
num = re.sub(r'#.*$', "", phone)
print("电话号码:", num)

# 移除非数字的内容
num = re.sub(r'D', "", phone)
print("电话号码:", num)

除了可以使用一个字符串来表示替换后的结果外,repl还可以传入一个函数。

示例代码:

代码语言:javascript复制
def double(matched):
    test = int(matched.group('test'))
    return str(test * 2)

print(re.sub(r'(?P<test>d )', double, 'hello23hi34'))  # hello46hi68

0 人点赞