【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)
相关推荐
向上的车轮1 小时前
MATLAB学习笔记(七):MATLAB建模城市的雨季防洪排污的问题
笔记·学习·matlab
成功人chen某2 小时前
配置VScodePython环境Python was not found;
开发语言·python
前端小崔2 小时前
从零开始学习three.js(18):一文详解three.js中的着色器Shader
前端·javascript·学习·3d·webgl·数据可视化·着色器
2301_786964362 小时前
EXCEL Python 实现绘制柱状线型组合图和树状图(包含数据透视表)
python·microsoft·excel
skd89993 小时前
小蜗牛拨号助手用户使用手册
python
「QT(C++)开发工程师」3 小时前
STM32 | FreeRTOS 递归信号量
python·stm32·嵌入式硬件
史迪仔01123 小时前
[python] Python单例模式:__new__与线程安全解析
开发语言·python·单例模式
龙湾开发3 小时前
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 10.增强表面细节(二)法线贴图
c++·笔记·学习·图形渲染·贴图
胡耀超3 小时前
18.自动化生成知识图谱的多维度质量评估方法论
人工智能·python·自动化·知识图谱·数据科学·逻辑学·质量评估
liang_20263 小时前
【HT周赛】T3.二维平面 题解(分块:矩形chkmax,求矩形和)
数据结构·笔记·学习·算法·平面·总结