Python正则替换终极指南:用re.sub玩转字符串魔法

Python正则替换终极指南:用re.sub玩转字符串魔法

一、为什么re.sub是文本处理的瑞士军刀?

在Python的re模块中,re.sub()的周下载量突破5800万次(2025年PyPI数据),它实现了:

  • 📍 模式匹配替换
  • 📍 动态内容生成
  • 📍 批量文本清洗
  • 📍 结构化数据转换

二、基础篇:5分钟掌握核心用法

1. 函数原型剖析

re.sub(pattern, repl, string, count=0, flags=0)
  • pattern:正则表达式模式(字符串或编译后的模式对象)
  • repl:替换内容(字符串或回调函数)
  • string:原始输入字符串
  • count:最大替换次数(0表示全部替换)
  • flags:匹配模式(如忽略大小写re.IGNORECASE

2. 基础替换示例

import re 
 
# 替换所有数字为*
text = "订单号:AB2025 金额:1500元"
result = re.sub(r"\d", "*", text)
print(result)  # 订单号:AB**** 金额:****元 
 
# 限制替换次数 
text = "1-2-3-4-5"
result = re.sub(r"-", ":", text, count=2)
print(result)  # 1:2:3-4-5 

以下案例均要添加 import re

三、进阶篇:解锁三大高阶技巧

1. 分组捕获与反向引用

\1 代表匹配的第1项,\2代表匹配的第2项,以此类推

# 重组日期格式(YYYY/MM/DD → DD-MM-YYYY)
text = "2025/02/20 → 2026/03/21"
result = re.sub(r"(\d{4})/(\d{2})/(\d{2})"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小彭爱学习

您的鼓励是我更新的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值