python 正则处理字符串,使用函数

"""
在正则截取的字符子串基础上,处理字符串

Python 的re模块提供了re.sub用于替换字符串中的匹配项。
语法:
re.sub(pattern, repl, string, count=0, flags=0)
参数:
pattern : 正则中的模式字符串。
repl : 替换的字符串,也可为一个函数。
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
flags : 编译时用的匹配模式,数字形式。
"""
import re

phone = "2004-959-559 --- 这是一个电话号码"

def double(matched):
    # print(matched.group(0)) # --- 这是一个电话号码
    # print(matched.group(1))  #这是一个电话号码
    value = matched.group(1)
    return value * 2

def double_with_str(matched):
    print(matched.group('substr')) # 这是一个电话号码
    value = matched.group('substr')
    return value * 2

# 删除注释
num = re.sub(r'--- (.+)$', double, phone) # 使用数组下标,定位字串
num2 = re.sub(r'--- (?P<substr>.+)$', double_with_str, phone) # 使用命名组,定位字串

print("num",num)
print("num2",num2)

猜你喜欢

转载自blog.csdn.net/xiao_yi_xiao/article/details/121038173