python中通过预先编译正则表达式提高效率


Posted in Python onSeptember 25, 2017

前言

在re的正则表达式模块里,可以通过模块的方式来访问正则表达式,但是如果重复多次地使用正则表达式,最好是使用compile函数把正则表达式编译成对象RegexObject,这样会大大地提高搜索的效率,因为基于非编译方式访问时,是使用模块里的一小块缓冲来进行的。

如下面的例子:

import re 
 
# Precompile the patterns 
regexes = [ 
 re.compile(p) 
 for p in ['this', 'that'] 
] 
text = 'http://blog.csdn.net/caimouse is great blog, this is my blog.' 
 
print('Text: {!r}\n'.format(text)) 
 
for regex in regexes: 
 print('Seeking "{}" ->'.format(regex.pattern), 
   end=' ') 
 
 if regex.search(text): 
  print('match!') 
 else: 
  print('no match')

结果输出如下:

Text: 'http://blog.csdn.net/caimouse is great blog, this is my blog.'


Seeking "this" -> match!
Seeking "that" -> no match

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
使用python 获取进程pid号的方法
Mar 10 Python
在Python中测试访问同一数据的竞争条件的方法
Apr 23 Python
python如何统计序列中元素
Jul 31 Python
深入浅析Python传值与传址
Jul 10 Python
Django Rest framework频率原理与限制
Jul 26 Python
快速解决vue.js 模板和jinja 模板冲突的问题
Jul 26 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 Python
Python 爬取必应壁纸的实例讲解
Feb 24 Python
从0到1使用python开发一个半自动答题小程序的实现
May 12 Python
Django模型验证器介绍与源码分析
Sep 08 Python
如何在 Matplotlib 中更改绘图背景的实现
Nov 26 Python
Python中使用Selenium环境安装的方法步骤
Feb 22 Python
python之Character string(实例讲解)
Sep 25 #Python
python利用正则表达式搜索单词示例代码
Sep 24 #Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 #Python
Django如何实现内容缓存示例详解
Sep 24 #Python
Django查询数据库的性能优化示例代码
Sep 24 #Python
python学习教程之使用py2exe打包
Sep 24 #Python
python数据结构之列表和元组的详解
Sep 23 #Python
You might like
一个用php实现的获取URL信息的类
2007/01/02 PHP
php自定义函数之递归删除文件及目录
2010/08/08 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
jquery实现多屏多图焦点图切换特效的方法
2015/05/04 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
react-router实现按需加载
2017/05/09 Javascript
Javascript继承机制详解
2017/05/30 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
2017/12/11 Javascript
简述vue中的config配置
2018/01/23 Javascript
详解JavaScript栈内存与堆内存
2019/04/04 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
2020/07/28 Javascript
python3 shelve模块的详解
2017/07/08 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
详解Python字典小结
2018/10/20 Python
python无限生成不重复(字母,数字,字符)组合的方法
2018/12/04 Python
Python如何实现强制数据类型转换
2019/11/22 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
Delphi笔试题
2016/11/14 面试题
质量负责人任命书
2014/06/06 职场文书
2015年环保局工作总结
2015/05/22 职场文书
优秀教师工作总结2015
2015/07/22 职场文书
使用CSS3实现按钮悬停闪烁动态特效代码
2021/08/30 HTML / CSS
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js