替换 sub 与 subn

40.8 替换 sub 与 subn

re.sub(模式, 替换, 文本) — 替换所有匹配;替换串可用 \1 引用分组。

re.subn 返回 (新字符串, 替换次数)。

隐藏数字

# ========================================
# 示例:sub 批量替换
# 说明:把每个数字换成 *
# ========================================
import re

s = re.sub(r'\d', '*', 'abc123def456')
print(s)  # abc***def***

引用分组替换

# ========================================
# 示例:分组引用 \1
# 说明:把 2026-05-30 改成 30/05/2026
# ========================================
import re

text = '日期 2026-05-30'
new = re.sub(r'(\d{4})-(\d{2})-(\d{2})', r'\3/\2/\1', text)
print(new)