当前位置: 首页 > news >正文

Python 常用的正则表达式

正则表达式(Regular Expression)是一种强大的文本处理工具,它使用特定的模式来描述、匹配一系列符合某个语法规则的字符串。在Python中,通过re模块提供正则表达式功能。

正则表达式的作用

  1. 文本匹配:检查字符串是否符合特定模式
  2. 文本查找:在字符串中查找符合模式的子串
  3. 文本替换:将符合模式的子串替换为其他内容
  4. 文本分割:按照模式将字符串分割成多个部分

re模块常用方法


1. re.match(pattern, string) - 从字符串开头匹配模式

示例

import reresult = re.match(r'hello', 'hello world')
print(result.group())  # 输出: helloresult = re.match(r'world', 'hello world')
print(result)  # 输出: None

说明

  • 第一个例子匹配成功,因为字符串以"hello"开头
  • 第二个例子返回None,因为字符串不是以"world"开头
  • match()只检查字符串开头,相当于在模式前加了^

2. re.search(pattern, string) - 在字符串中搜索第一个匹配项

示例

import reresult = re.search(r'\d+', 'Order 12345 placed on 2023-04-15')
print(result.group())  # 输出: 12345result = re.search(r'apple', 'I like oranges')
print(result)  # 输出: None

说明

  • 第一个例子找到字符串中第一个连续数字"12345"
  • 第二个例子返回None,因为字符串中没有"apple"
  • match()不同,search()会扫描整个字符串

3. re.findall(pattern, string) - 返回所有匹配项的列表

示例

import reresults = re.findall(r'\d+', 'Order 12345 placed on 2023-04-15')
print(results)  # 输出: ['12345', '2023', '04', '15']results = re.findall(r'[A-Z][a-z]+', 'John Doe and Jane Smith')
print(results)  # 输出: ['John', 'Doe', 'Jane', 'Smith']

说明

  • 第一个例子找到所有连续数字序列
  • 第二个例子找到所有首字母大写的单词
  • 返回的是字符串列表,没有匹配对象信息

4. re.finditer(pattern, string) - 返回匹配项的迭代器

示例

import rematches = re.finditer(r'\d{2}', 'Order 12345 placed on 2023-04-15')
for match in matches:print(f"找到 
http://www.dtcms.com/a/327667.html

相关文章:

  • CodeRush AI 助手进驻 Visual Studio:AiGen/AiFind 亮相(五)
  • RL推理的尽头,是熵坍缩?统一SFT与强化学习的新视角
  • 零基础学Java第七讲---调试(IDEA)
  • 面试经典150题[001]:合并两个有序数组(LeetCode 88)
  • 【代码随想录day 17】 力扣 98.验证二叉搜索树
  • iis无法访问文件
  • NTP常见日志分析
  • 每日五个pyecharts可视化图表-line:从入门到精通 (4)
  • 多轮问答与指代消解
  • 测试匠谈 | AI语音合成之大模型性能优化实践
  • @JsonAnyGetter 动态表格渲染的“神”
  • 「机器学习」:金融风控贷款违约预测,天池比赛解决详细思路
  • Redis面试精讲 Day 19:Redis缓存设计模式与策略
  • 剑指offer第2版——面试题3:数组中重复的数字
  • RabbitMQ-知识技能图谱(总结篇)
  • 【时时三省】(C语言基础)建立动态链表
  • LeetCode189~191、198~214题解
  • 探秘酵母单杂交技术:解锁基因调控的密码
  • WEB虚拟主机3种部署方式全解析
  • 【Java Web 快速入门】九、事务管理
  • 【数据分享】2018-2024年中国10米分辨率春小麦和冬小麦分布栅格数据
  • Unity:GUI笔记(一)——文本、按钮、多选框和单选框、输入框和拖动条、图片绘制和框绘制
  • vue3大事件
  • 4.运算符
  • TF-IDF——红楼梦案例
  • IIS Express中可以同时加载并使用.net4.0和.NET 2.0的 DLL
  • Linux服务:Apache 虚拟主机配置指南:多站点部署三种方式详解
  • 【DL】浅层神经网络
  • 一键设置 NTP 时区的脚本(亲测,适用于部署 K8S 的前置环境)
  • 测试环境下因网络环境变化导致集群无法正常使用解决办法