Python的re模块(regular expression的缩写)是Python内置的正则表达式处理库,它主要用于字符串的匹配、搜索、替换和分割等操作,是处理文本数据的强有力工具。
原始字符串r前缀 在正则表达式中,经常会看到字符串前带有r前缀,如r’\d+'。这个r表示"原始字符串"(raw string)。
它的核心作用是:让反斜杠\被视为普通字符,而不是转义字符。
例如:
普通字符串"\n"表示换行符 原始字符串r"\n"则表示包含反斜杠\和字母n的两个字符 这对于正则表达式至关重要,因为正则中大量使用反斜杠表示特殊含义(如\d表示数字),如果不使用原始字符串,就需要写成"\d",这不仅难以阅读,还容易出错。
re.sub函数 re.sub()是re库中用于替换字符串中匹配项的核心函数。 它的基本语法为:
# pattern: 正则表达式模式(建议使用原始字符串r'...')
# repl: 替换的字符串或函数
# string: 要处理的原始字符串
# count: 可选,最多替换的次数(默认0表示全部替换)
# flags: 可选,匹配模式(如re.IGNORECASE忽略大小写)
re.sub(pattern, repl, string, count=0, flags=0)示例1
import re
text = "abc123xyz456"
result = re.sub(r'\d+', '*', text)
示例2(将所有字母替换为 *)
re.sub(r'[A-Za-z]', '*', text) 
示例3(替换前1个数字)
re.sub(r'\d+', '*', text, count=1) 
示例4(函数替换)
def upper_case(item):
return item.group(0).upper()
re.sub(r'[a-z]+', upper_case, text)