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

yipeiwu_com5年前Python基础

前言

在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实现的简单模板引擎功能示例

本文实例讲述了Python实现的简单模板引擎功能。分享给大家供大家参考,具体如下: #coding:utf- 8 __author__="sdm" __author_email='s...

使用Python向DataFrame中指定位置添加一列或多列的方法

对于这个问题,相信很多人都会很困惑,本篇文章将会给大家介绍一种非常简单的方式向DataFrame中任意指定的位置添加一列。 在此之前或许有不少读者已经了解了最普通的添加一列的方式,如下:...

使用Python搭建虚拟环境的配置方法

python 的虚拟环境可以为一个 python 项目提供独立的解释环境、依赖包等资源,既能够很好的隔离不同项目使用不同 python 版本带来的冲突,而且还能方便项目的发布。 virt...

itchat接口使用示例

有关itchat接口的知识,小编是初步学习,这里先给大家分享一段代码用法示例。 sudo pip3 install itchat 今天用了下itchat接口,从url=”https://...

Django中间件基础用法详解

前言 django的中间件可以在视图函数执行前执行,比如登陆验证、日志记录等,下面简单说明一下中间件的基础用法,主要为笔者学习时的笔记 1. 在django项目文件夹下创建一个用于存放中...