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将文本转换成图片输出的方法
Apr 28 Python
对dataframe进行列相加,行相加的实例
Jun 08 Python
python交互界面的退出方法
Feb 16 Python
python实现列表的排序方法分享
Jul 01 Python
Python编译为二进制so可执行文件实例
Dec 23 Python
Python实现使用dir获取类的方法列表
Dec 24 Python
python处理RSTP视频流过程解析
Jan 11 Python
python pptx复制指定页的ppt教程
Feb 14 Python
Python tornado上传文件的功能
Mar 26 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
Jul 31 Python
python opencv肤色检测的实现示例
Dec 21 Python
pytorch 中nn.Dropout的使用说明
May 20 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数据库连接
2006/10/09 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
PHPThumb图片处理实例
2014/05/03 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
laravel 操作数据库常用函数的返回值方法
2019/10/11 PHP
[原创]静态页面也可以实现预览 列表不同的显示方式
2006/10/14 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
Vue.js组件tab实现选项卡切换
2020/03/23 Javascript
微信小程序--组件(swiper)详细介绍
2017/06/13 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
node中的session的具体使用
2018/09/14 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
基于Python中求和函数sum的用法详解
2018/06/28 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
python:动态路由的Flask程序代码
2019/11/22 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
python 从list中随机取值的方法
2020/11/16 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
新加坡领先的在线生活方式和杂货购物网站:EAMART
2019/04/02 全球购物
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
药物学专业学生的自我评价
2013/10/27 职场文书
收款授权委托书
2014/10/02 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers