大多数编程语言的正则表达式设计都师从Perl,所以语法基本相似,不同的是每种语言都有自己的函数去支持正则,今天我们就来学习 Python中关于 正则表达式的函数 。
![python正则表达式使用实例 正则表达式测试工具](http://pic.yunnanlong.com/220919/221114C92-0.png)
文章插图
re模块主要定义了9个常量、12个函数、1个异常,每个常量和函数猪哥都会通过实际代码案例讲解,让大家能更直观的了解其作用!
注:为避免出现代码格式错乱,猪哥尽量使用代码截图演示哦 。
![python正则表达式使用实例 正则表达式测试工具](http://pic.yunnanlong.com/220919/221114D15-1.jpg)
文章插图
re模块简介
聊到Python正则表达式的支持,首先肯定会想到
re
库,这是一个Python处理文本的标准库 。标准库的意思表示这是一个Python内置模块,不需要额外下载,目前Python内置模块大概有300个 。可以在这里查看Python所有的内置模块:因为re是内置模块,所以不需要再下载,使用时直接引入即可:
https://docs.python.org/3/py-modindex.html#cap-r
import re
re模块官方文档:https://docs.python.org/zh-cn/3.8/library/re.html
re模块库源码:
https://github.com/python/cpython/blob/3.8/Lib/re.py
![python正则表达式使用实例 正则表达式测试工具](http://pic.yunnanlong.com/220919/221114EL-2.jpg)
文章插图
re模块常量常量即表示不可更改的变量,一般用于做标记 。
re模块中有9个常量,常量的值都是int类型!
![python正则表达式使用实例 正则表达式测试工具](http://pic.yunnanlong.com/220919/22111442K-3.png)
文章插图
上图我们可以看到,所有的常量都是在RegexFlag枚举类来实现,这是在Python 3.6做的改版 。在Python 3.6以前版本是直接将常量写在re.py中,使用枚举的好处就是方便管理和使用!
![python正则表达式使用实例 正则表达式测试工具](http://pic.yunnanlong.com/220919/2211144B4-4.png)
文章插图
下面我们来快速学习这些常量的作用及如何使用他们,按常用度排序!
1. IGNORECASE语法:re.IGNORECASE 或简写为 re.I
作用:进行忽略大小写匹配 。
代码案例:
![python正则表达式使用实例 正则表达式测试工具](http://pic.yunnanlong.com/220919/22111455S-5.png)
文章插图
在默认匹配模式下大写字母B无法匹配小写字母b,而在 忽略大小写 模式下是可以的 。
2. ASCII语法:re.ASCII 或简写为 re.A
作用:顾名思义,ASCII表示ASCII码的意思,让
w
,W
,b
,B
,d
,D
,s
和S
只匹配ASCII,而不是Unicode 。代码案例:
![python正则表达式使用实例 正则表达式测试工具](http://pic.yunnanlong.com/220919/2211144M3-6.png)
文章插图
在默认匹配模式下
w+
匹配到了所有字符串,而在ASCII模式下,只匹配到了a、b、c(ASCII编码支持的字符) 。注意:这只对字符串匹配模式有效,对字节匹配模式无效 。
3. DOTALL语法:re.DOTALL 或简写为 re.S
作用:DOT表示
.
,ALL表示所有,连起来就是.
匹配所有,包括换行符n
。默认模式下.
是不能匹配行符n
的 。代码案例:
![python正则表达式使用实例 正则表达式测试工具](http://pic.yunnanlong.com/220919/2211146200-7.png)
文章插图
在默认匹配模式下
.
并没有匹配换行符n
,而是将字符串分开匹配;而在re.DOTALL模式下,换行符n
与字符串一起被匹配到 。注意:默认匹配模式下
.
并不会匹配换行符n
。4. MULTILINE语法:re.MULTILINE 或简写为 re.M
作用:多行模式,当某字符串中有换行符
n
,默认模式下是不支持换行符特性的,比如:行开头 和 行结尾,而多行模式下是支持匹配行开头的 。
推荐阅读
- switch语句中case后面的表达式可以是什么
- Python循环结构中else用法 else的用法与位置结尾
- python自动化测试面试题 python测试代码怎么写
- python正则表达式使用实例 正则表达式测试工具有哪些
- python打造自动抢购/秒杀脚本 天天秒淘宝秒杀助手软件靠谱吗
- php采集安装教程 Python数据采集流程
- 怎么安装python python下载安装
- windows10配置python环境变量 windows配置python环境变量
- 测试环境搭建 教你搭建python开发环境
- python用什么软件编程好 常用python编程软件推荐