首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python从零实现正则替换

Python从零实现正则替换

作者头像
用户2423478
发布2025-10-31 18:49:24
发布2025-10-31 18:49:24
900
举报
文章被收录于专栏:具身小站具身小站

1. Python re库

Python的re模块(regular expression的缩写)是Python内置的正则表达式处理库,它主要用于字符串的匹配、搜索、替换和分割等操作,是处理文本数据的强有力工具。

原始字符串r前缀 在正则表达式中,经常会看到字符串前带有r前缀,如r’\d+'。这个r表示"原始字符串"(raw string)。

它的核心作用是:让反斜杠\被视为普通字符,而不是转义字符。

例如:

普通字符串"\n"表示换行符 原始字符串r"\n"则表示包含反斜杠\和字母n的两个字符 这对于正则表达式至关重要,因为正则中大量使用反斜杠表示特殊含义(如\d表示数字),如果不使用原始字符串,就需要写成"\d",这不仅难以阅读,还容易出错。

re.sub函数 re.sub()是re库中用于替换字符串中匹配项的核心函数。 它的基本语法为:

代码语言:javascript
复制
# pattern: 正则表达式模式(建议使用原始字符串r'...')
# repl: 替换的字符串或函数
# string: 要处理的原始字符串
# count: 可选,最多替换的次数(默认0表示全部替换)
# flags: 可选,匹配模式(如re.IGNORECASE忽略大小写)
re.sub(pattern, repl, string, count=0, flags=0)

2. 函数使用实例

示例1

代码语言:javascript
复制
import re
text = "abc123xyz456"
result = re.sub(r'\d+', '*', text)
在这里插入图片描述
在这里插入图片描述

示例2(将所有字母替换为 *)

代码语言:javascript
复制
re.sub(r'[A-Za-z]', '*', text)  
在这里插入图片描述
在这里插入图片描述

示例3(替换前1个数字)

代码语言:javascript
复制
re.sub(r'\d+', '*', text, count=1)  
在这里插入图片描述
在这里插入图片描述

示例4(函数替换)

代码语言:javascript
复制
def upper_case(item):
    return item.group(0).upper()
re.sub(r'[a-z]+', upper_case, text)
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 具身小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Python re库
  • 2. 函数使用实例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档