【python学习】基础篇-常用模块-re模块:正则表达式高效操作字符串

在Python中,正则表达式主要通过re模块来实现。以下是一些常用的正则表达式用法:

匹配值:

python 复制代码
pattern = r'\d+'  # 匹配一个或多个数字
pattern = r'\b\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\b' #匹配日期格式
pattern = r'hello'  # 匹配字符串"hello"
  • \d 表示匹配一个数字字符,等价于 0-9;
  • +表示匹配前面的子表达式一次或多次
  • \d{4}表示匹配四位数字
  • \b 表示单词边界,确保匹配的时间字符串前后没有其他数字或字符,在字符串首尾各一个

1、导入re模块:

python 复制代码
import re

2、使用re.search()函数查找字符串中是否包含指定的模式:

python 复制代码
import re
pattern = r'\d+'  # 匹配一个或多个数字
string = 'abc123def456'
result = re.search(pattern, string)
if result:
    print('找到匹配项:', result.group())
else:
    print('未找到匹配项')

3、使用re.findall()函数查找字符串中所有符合指定模式的子串

python 复制代码
import re
pattern = r'\d+'  # 匹配一个或多个数字
string = 'abc123def456'
result = re.findall(pattern, string)
print('找到的所有匹配项:', result)

4、使用re.sub()函数替换字符串中符合指定模式的子串:

python 复制代码
import re
pattern = r'\d+'  # 匹配一个或多个数字
replacement = 'NUM'
string = 'abc123def456'
result = re.sub(pattern, replacement, string)
print('替换后的字符串:', result)

5、使用re.split()函数根据指定模式分割字符串

python 复制代码
import re
pattern = r'\d+'  # 匹配一个或多个数字
string = 'abc123def456'
result = re.split(pattern, string)
print('分割后的字符串列表:', result)

6、使用re.compile()函数将正则表达式编译为一个模式对象,以便重复使用:

python 复制代码
import re
pattern = re.compile(r'\d+')  # 匹配一个或多个数字

7、使用re.escape()函数对特殊字符进行转义,以便在正则表达式中使用:

python 复制代码
import re
string = 'a.b*c?d+e|f{g}h[i]j^k$l'
escaped_string = re.escape(string)
print('转义后的字符串:', escaped_string)
相关推荐
彧azz12 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
平头哥AI12 小时前
Day 22 _ 包装错误别丢链_%w、errors.Is 与 errors.As
android·服务器·学习·golang·go
一阵寒风12 小时前
CAM智能化助力PCB 智能制造-培训体系第六章.项目开发学习
学习·制造
传奇开心果编程13 小时前
【Xilem 0.4 基础语法学与练】第15课:状态管理与 memoize 性能优化
学习·rust·前端框架
具身AGI13 小时前
视频即仿真,物理AI 人类学习路线 的下一步
人工智能·学习
2601_9623008113 小时前
机器学习贴士:使用Python编写MapReduce
hadoop·python·机器学习·mapreduce·数据处理
xyz_CDragon14 小时前
GitHub上4个爆款AI开源Skill:拍照后不用P图,用Codex一键生成高级海报(附效果图+使用教程)
人工智能·python·github·codex·skill
wuyk55514 小时前
从零吃透 MQTT 通信|第 8 章 FreeRTOS 多任务架构下 MQTT 工程架构,任务拆分、队列解耦、临界区保护
c语言·开发语言·stm32·学习·架构
weixin1997010801614 小时前
[特殊字符]《跨境二手ERP对接Back Market:标准化API + 7~10工作日技术合规审核实录》(附Python源码)
开发语言·python·pandas
陈年老古董15 小时前
PyTorch食物图像分类实战:从数据集制作到CNN模型训练全流程详解
pytorch·深度学习·学习·机器学习·分类·cnn