3. 实际测试又如何?上面官方文档推荐我们在 多次使用某个正则表达式时使用正则对象,那实际情况真的是这样的吗?
我们再实测一下吧

猪哥编写了两个函数,一个使用re.search函数另一个使用compile.search函数,分别(不同时)循环执行count次(count从1-1万),比较两者的耗时!
得出的结果猪哥绘制成折线图:

得出的结论是:100次循环以内两者的速度基本一致,当超出100次后,使用 正则对象Pattern的函数 耗时明显更短,所以比re模块要快!
通过实际测试得知:Python 官方文档推荐 多次使用某个正则表达式时使用正则对象函数 基本属实!

注意事项Python 正则表达式知识基本讲解完毕,最后稍微给大家提一提需要注意的点 。
1.字节串 与 字符串模式和被搜索的字符串既可以是 Unicode 字符串 (str) ,也可以是8位字节串 (bytes) 。但是,Unicode 字符串与8位字节串不能混用!
2.r 的作用正则表达式使用反斜杠(’’)来表示特殊形式,或者把特殊字符转义成普通字符 。
而反斜杠在普通的 Python 字符串里也有相同的作用,所以就产生了冲突 。
解决办法是对于正则表达式样式使用 Python 的原始字符串表示法;在带有 ‘r’ 前缀的字符串字面值中,反斜杠不必做任何特殊处理 。
3.正则查找函数 返回匹配对象查找一个匹配项(search、match、fullmatch)的函数返回值都是一个 匹配对象Match,需要通过match.group获取匹配值,这个很容易忘记 。

另外还需要注意:match.group 与match.groups 函数的差别!
4.重复使用某个正则如果要重复使用某个正则表达式,推荐先使用 re.compile(pattern)函数返回一个正则对象,然后复用这个正则对象,这样会更快!
5.Python 正则面试笔试可能会遇到需要使用Python正则表达式,不过不会太难的,大家只要记住那几个方法的区别,会正确使用,基本问题不大 。
推荐阅读
- switch语句中case后面的表达式可以是什么
- Python循环结构中else用法 else的用法与位置结尾
- python自动化测试面试题 python测试代码怎么写
- python正则表达式使用实例 正则表达式测试工具有哪些
- python打造自动抢购/秒杀脚本 天天秒淘宝秒杀助手软件靠谱吗
- php采集安装教程 Python数据采集流程
- 怎么安装python python下载安装
- windows10配置python环境变量 windows配置python环境变量
- 测试环境搭建 教你搭建python开发环境
- python用什么软件编程好 常用python编程软件推荐
