python正则表达式(一)
Python的正则表达式使用的是re模块,re模块是python 的内置模块,不需要额外下载。
一、re常量
re模块中定义了9个常量, 使用方法如下:
1、ASCII(简写为A)
用途:只匹配ASCII编码支持的字符, 这只对字符串匹配模式有效,对字节匹配模式无效
示例:
2、IGNORECASE(简写为I)
用途:匹配时忽略大小写
示例:
3、LOCALE(简写为L)
这个常量官方不推荐使用, 在此略过
4、UNICODE(简写为U)
用途:匹配unicode编码支持的字符, 由于python3默认是unicode编码,所有此常量在此略过
5、MULTILINE(简写为M)
用途:使得^和$字符可以匹配任意行的开始与结束
示例:
6、DOTALL(简写为S)
用途:使"."号匹配任何字符, 包括换行符
示例:
7、VERBOSE(简写为X)
用途:正则表达式可以换行书写,且可以加入注释
示例:此标志允许您通过允许您在视觉上分离模式的逻辑部分并添加注释来编写看起来更好且更具可读性的正则表达式。模式中的空格被忽略,除非在字符类中,或者前面有未转义的反斜杠,或者在 *?
, (?:
或 (?P<...>
等标记内。当一行包含不在字符类中的 #
并且前面没有未转义的反斜杠时,从最左边的 #
到行尾的所有字符都将被忽略。
8、TEMPLATE(简写为T)
用途:禁用回溯
示例:
这个常量的作用比较难理解,结合上面的两个图来说明一下
图一是没有使用TEMPLATE的情况, 匹配步骤如下:
- 匹配Ilikea
- 贪婪匹配4个i
- 匹配3个i,再往后匹配发现没有i了, 则向前回溯
- 不那么贪婪了, 少匹配一个i及匹配3个i,匹配成功
- 完成匹配
图二是使用TEMPLATE的情况, 禁用了回溯, 匹配步骤如下:
- 匹配Ilikea
- 贪婪匹配4个i
- 匹配3个i,再往后匹配发现没有i了, 因为禁用了回溯,所以此时不能回溯,系统报错
9、DEBUG
用途:显示编译时的debug信息
示例:
PS:以上常量可以叠加使用, 叠加时请使用 |
符号 例如:re.I | re.A
python正则表达式(一)相关推荐
- Python 正则表达式各种特殊符号 重点
Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. r ...
- python 正则表达式 re.compile() 的使用
1 re.compile() 的解释: python 正则表达式 re.compile() 将正则表达式编译成一个Pattern规则对象,单独使用compile 没有意义,他生成的是一个规则,需要ma ...
- Python正则表达式,看这一篇就够了
作者 | 猪哥 来源 | 裸睡的猪(ID: IT--Pig) 大多数编程语言的正则表达式设计都师从Perl,所以语法基本相似,不同的是每种语言都有自己的函数去支持正则,今天我们就来学习 Python中 ...
- Python 正则表达式
最近研究Python爬虫,很多地方用到了正则表达式,但是没好好研究,每次都得现查文档.今天就专门看看Python正则表达式.本文参考了官方文档 re模块. 模式 首先正则表达式的语法我就不说了,这玩意 ...
- Python正则表达式初识(二)
前几天给大家分享了[Python正则表达式初识(一)],介绍了正则表达式中的三个特殊字符"^"."."和"*",感兴趣的伙伴可以戳进去看看, ...
- python正则表达式需要模块_使用Python正则表达式模块,让操作更加简单
处理文本数据的一个主要任务就是创建许多以文本为基础的特性. 人们可能想要在文本中找出特定格式的内容,比如找出存在于文本中的电子邮件,或者大型文本中的电话号码. 虽然想要实现上述功能听起来很繁琐,但是如 ...
- python正则表达式re.sub用法
python正则表达式re.sub用法 https://cloud.tencent.com/developer/article/1382055 python正则表达式re.sub用法 全面的 http ...
- 【Python】一文读懂Python正则表达式常用用法
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 编辑:爱学AI 来源:geekvi 链接: www.segmentfault.co ...
- Python正则表达式常用的15个符号整理
http://blog.itpub.net/31403259/viewspace-2157778/ Python正则表达式常用的15个符号整理: 1. ? 匹配0次或一次前面的分组(问号在正则表达式中 ...
- Python正则表达式使用的四个基本步骤
http://blog.itpub.net/31403259/viewspace-2157701/ Python正则表达式使用的四个基本步骤 1.用import re导入正则表达式模块 ...
最新文章
- Python:PDB文件中原子和残基重新编号
- psp用ps1模拟器_电脑上ps1和fc模拟器资源下载,包含当年ps1上的西游记和霸王的大陆复刻版...
- spring cloud (一):大话 Spring Cloud
- php缓存mysql表_PHP 中的数据库缓存原理
- 现在好用的mysql客户端_还在用 Navicat 的,可以试试这几款免费且好用的 MySQL 客户端...
- 【shell】shuf命令,随机排序
- 信道分类、信道复用技术、CSMA/CD 协议、PPP 协议、MAC 地址、局域网、以太网、交换机、虚拟局域网
- 前端学习(2622):过滤器进行操作
- input文本框不可编辑的方法
- HDU5961 —— 传递【竞赛图】【判断传递闭包】
- Open Inventor Coin3D
- word向下箭头符替换和打印,去掉多余换行
- Catia二次开发:数组,局部变量等,msgbox,背景颜色,enable属性,图片模块,vb的common dialog控件,键盘鼠标事件,text操作
- 不用恢复出厂设置啦,联想电脑YogaDuet如何升级win11?在BIOS开启加载系统初始值 打开Intel Platform Trust开启TMP2.0更新win11
- 我被感动了!世间自有真爱 - 林林与静静
- 慢下来,等一等自己的灵魂
- C语言正弦和余弦的值
- Altium Designer 20 超全终极封装库
- Shodan在渗透测试及漏洞挖掘中的一些用法
- 计算机一级execl怎么学,【计算机一级 excel】大学计算机一级excle
热门文章
- 信息学奥赛一本通-1047
- java全栈系列之JavaSE-面向对象(封装详解)034
- HTML仿QQ音乐页面附源码(无框架)
- 稳压二极管主要参数及选型(及常见电阻封装的可过的电流)
- Unreal Engine4(虚幻4)学习心得-材质
- 解决 idea 启动报错: Failed to create JVM.JVM.Path XXXXXXX\jbr\
- CGB2106-Day01
- Git实用教程 4.0:回到过去
- 攻防世界_leve0
- 深度:传统服装品牌大量进入,老年身体机能变化催生数千亿中老年服装市场!