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

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.xdnf.cn/news/17632.html

相关文章:

  • Redis序列化配置类
  • vue2+elementUI实现园型动态步骤条小组件,带缩放功能
  • 【4】Transformers快速入门:自然语言模型 vs 统计语言模型
  • 【无标题】centos 配置阿里云的yum源
  • vue文件或文件夹拖拽上传
  • WPS文字和Word:不只是表格,段落也可以排序
  • 校园快递小程序(腾讯地图API、二维码识别、Echarts图形化分析)
  • 【Dify学习笔记】:Dify搭建图片文件数据分析助手
  • Kimi K2 架构深度解析:万亿MoE模型的效率革命与智能体突破
  • Linux文件系统:从虚拟接口到物理实现的架构解析
  • 【C++】5. 内存管理
  • Android Studio注释如何不从行首开始
  • gpt-5与gpt-5-fast
  • CPPIO流
  • Postman接口测试:postman设置接口关联,实现参数化
  • 当多模态大语言模型遇上视觉难题!AI视觉探索之旅
  • 视频输入输出模块介绍和示例
  • 编译 BusyBox for ARM 平台
  • 力扣面试150题--爬楼梯 打家劫舍 零钱兑换 最长递增子序列
  • Elasticsearch JS 自定义 ConnectionPool / Connection / Serializer、敏感信息脱敏与 v8 平滑迁移
  • 01-Ansible 自动化介绍与使用
  • 83. 删除排序链表中的重复元素
  • Neo4j Cypher
  • Fiddler国内中文网使用经验分享,从抓包入门到API调试进阶
  • 【读代码】深度解析 Researcher:开源自动化科研助手
  • K8S 节点初始化一键脚本(禁用 SELinux + 关闭 swap + 开启 ipvs 亲测实用)
  • Golang 语言中 Context 的使用方式
  • 计算机视觉(6)-自动驾驶感知方案对比
  • AV、IPS、WAF对比
  • CMake笔记:PUBLIC/PRIVATE/INTERFACE的使用