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迭代器的使用方法实例
Nov 21 Python
编写Python脚本来获取mp3文件tag信息的教程
May 04 Python
python中enumerate函数用法实例分析
May 20 Python
Python读写文件方法总结
Jun 09 Python
python爬虫入门教程--正则表达式完全指南(五)
May 25 Python
Flask解决跨域的问题示例代码
Feb 12 Python
python实现自动网页截图并裁剪图片
Jul 30 Python
python os.path模块常用方法实例详解
Sep 16 Python
Python写一个基于MD5的文件监听程序
Mar 11 Python
Python Scrapy多页数据爬取实现过程解析
Jun 12 Python
python中plt.imshow与cv2.imshow显示颜色问题
Jul 16 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
Sep 29 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 如何利用phpexcel导入数据库
2013/08/24 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
CSDN轮换广告图片轮换效果
2007/03/27 Javascript
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
js日期相关函数总结分享
2013/10/15 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
2013/11/06 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
2014/04/12 Javascript
轻松创建nodejs服务器(8):非阻塞是如何实现的
2014/12/18 NodeJs
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
2015/08/10 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
Webpack 4.x搭建react开发环境的方法步骤
2018/08/15 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
2020/04/10 Javascript
win10系统中安装scrapy-1.1
2016/07/03 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
Python Requests库基本用法示例
2018/08/20 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
Python super()函数使用及多重继承
2020/05/06 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
销售代表求职自荐信
2013/10/01 职场文书
学校爱国卫生月活动总结
2014/06/25 职场文书
环境保护建议书
2014/08/26 职场文书
党员学习党的群众路线思想汇报(5篇)
2014/09/10 职场文书
同意迁入证明模板
2014/10/26 职场文书
师范生见习报告
2014/10/31 职场文书
山楂树之恋观后感
2015/06/11 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书