正则表达式与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)查看

相关推荐
m0_690825825 小时前
如何为禁用按钮添加点击提示信息
jvm·数据库·python
_376271535 小时前
MySQL主从复制如何实现读写分离_利用ProxySQL进行流量分发
jvm·数据库·python
2401_833033625 小时前
SQL如何提高分组统计查询的响应速度_索引与缓存策略
jvm·数据库·python
FreakStudio5 小时前
WIZnet-EVB-Pico2开始,用MicroPython玩转以太网开发
python·单片机·嵌入式·大学生·面向对象·技术栈·并行计算·电子diy·电子计算机
dinglu1030DL5 小时前
C#怎么实现发布订阅模式 C#如何用事件总线EventBus实现模块间的松耦合消息通信【架构】
jvm·数据库·python
神明9315 小时前
PHP函数怎样利用硬件内存压缩功能_PHP启用zswap硬件加速【指南】
jvm·数据库·python
2301_781571425 小时前
如何配置用户的资源使用上限_MAX_QUERIES_PER_HOUR查询频率限制
jvm·数据库·python
2501_901200535 小时前
编写表与字段注释后数据无法保存怎么排查_权限设置与回滚处理
jvm·数据库·python
m0_733565466 小时前
mysql数据库执行全量备份影响业务_利用xtrabackup实现无锁备份
jvm·数据库·python
2401_880071406 小时前
golang如何编写DNS查询工具_golang DNS查询工具编写大全
jvm·数据库·python