正则表达式与Pyhton

一、正则表达式的规则

1、支持普通字符匹配

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

  1. \d 匹配数字
  2. \w 匹配数字、字母、下划线
  3. \D \d的取反,除了数字全部匹配
  4. \W \w的取反
  5. abc\] 匹配字母a、b、c

  6. . 匹配除了换行符之外的所有内容

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)查看

相关推荐
Bug-制造者5 小时前
正则表达式 vs Shell通配符:彻底分清,告别命令行踩坑
linux·正则表达式
Warson_L5 小时前
python集合类型-set和tuple
python
zhangzhi19798155926 小时前
Agent Skills
开发语言·python
爱码小白6 小时前
MySQL索引与SQL优化
大数据·数据库·python
2303_821287386 小时前
MySQL行锁和表锁如何区分_通过explain查看锁等待机制.txt
jvm·数据库·python
kexnjdcncnxjs6 小时前
如何在Navicat中创建基础数据表_可视化图形界面操作指南
jvm·数据库·python
m0_740796366 小时前
CSS如何兼容新旧方案结合响应式容器查询
jvm·数据库·python
zmsofts6 小时前
Maven核心能力深度解析:从项目管理到扩展机制
java·python·maven
qq_452396237 小时前
第十四篇:《JMeter插件扩展:自定义函数与第三方插件》
开发语言·python·jmeter
m0_702036537 小时前
mysql如何导出特定条件的查询数据_使用mysqldump加where参数
jvm·数据库·python