正则表达式与Pyhton

一、正则表达式的规则

1、支持普通字符匹配

2、元字符,一个符号匹配一堆字符

  1. \d 匹配数字
  2. \w 匹配数字、字母、下划线
  3. \D \d的取反,除了数字全部匹配
  4. \W \w的取反
  5. abc 匹配字母a、b、c
  6. \^abc abc的取反,除了a、b、c全部匹配
  7. . 匹配除了换行符之外的所有内容

3、量词 --- 控制元字符出现的次数

    • 前面的元字符出现一次或多次
  1. * 前面的元字符出现0次或多次(贪婪匹配)
  2. ? 前面的元字符出现0次或多次(非贪婪)

4、惰性匹配 .*?

示例:玩吃鸡游戏,晚上一起玩游戏,干嘛呢?打游戏啊

玩.*游戏 匹配结果:玩吃鸡游戏,晚上一起玩游戏,干嘛呢?打游戏

玩.*?游戏 匹配结果:(1)玩吃鸡游戏 (2)玩游戏

二、python正则re模块

1、res = re.findall(r"正则表达式", "原始文本") ---> 拿到所有匹配结果,存为列表

2、res = re.search(r"正则表达式", "原始文本") ---> 拿到第一个匹配结果就返回

通过res.group()查看结果

3、res = re.finditer(r"正则表达式", "原始文本") ---> 拿到所有结果,放到迭代器里(原始文本较大时节约内存)

4、预加载

obj = re.compile(r"正则表达式")

re.findall("原始文本") 。。。。

5、(?P<name>.*?) ---> 将.*?所匹配的内容起名为name,可通过res.group(name)查看

相关推荐
金銀銅鐵4 小时前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li6 小时前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
小九九的爸爸10 小时前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学11 小时前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员
花酒锄作田1 天前
Pydantic校验配置文件
python
hboot1 天前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
ZhengEnCi2 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化
ZhengEnCi2 天前
P2L-Matplotlib饼图完全指南-从数据可视化到图表定制的Python绘图利器
python·matlab
曲幽2 天前
你的REST接口还在“过度投喂”数据吗?——FastAPI + GraphQL实战避坑指南
python·fastapi·web·graphql·route·cors·rest·strawberry
用户8358086187912 天前
基于 Self-RAG 与列表级重排序的进阶 RAG 系统设计与实现
python