python正则表达式编译_用Python编译正则表达式
嗯,这很奇怪。到目前为止,我的知识(在其他来源中,from this question)表明了我最初的答案:
第一个答案
Python缓存您使用的最后100个regex,因此即使您不显式地编译它们,也不必每次使用时都重新编译它们。在
但是,有两个缺点:当达到100个regex的限制时,整个缓存都是nuked,因此如果您在一行中使用101个不同的regex,则每次都会重新编译每个regex。嗯,那不太可能,但还是。在
其次,为了找出是否已经编译了正则表达式,解释器每次都需要在缓存中查找正则表达式,这确实需要一点额外的时间(但由于字典查找非常快,所以不需要太多时间)。在
因此,如果显式编译正则表达式,就可以避免这个额外的查找步骤。在
更新
我刚做了一些测试(Python3.3):>>> import timeit
>>> timeit.timeit(setup="import re", stmt='''r=re.compile(r"\w+")\nfor i in range(10):\n r.search(" jkdhf ")''')
18.547793477671938
>>> timeit.timeit(setup="import re", stmt='''for i in range(10):\n re.search(r"\w+"," jkdhf ")''')
106.47892003890324
因此,似乎没有进行缓存。也许这是timeit.timeit()运行的特殊条件的一个怪癖?在
另一方面,在Python2.7中,这种区别并没有那么明显:
^{pr2}$
python正则表达式编译_用Python编译正则表达式相关推荐
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- python语言的解释性特点指的是编写的程序不需要编译_解释性与编译型 Python2和python3的区别...
一 基础: 1.解释型语言与编译型语言的区别 首先,我们编程都是用的高级语言(写汇编和机器语言的大牛除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算 ...
- python加密反编译_对Python源码进行加密及反编译前后对比
关于python的加密 目前软件开发商对 Python 加密时可能会有两种形式,一种是对python转成的exe进行 保护,另一种是直接对.py或者.pyc文件进行保护,下面将列举两种形式的保护流程. ...
- python派森编程_派森(Python)官方下载_派森(Python)最新版_派森(Python)v2.7.14官方正式版-华军软件园...
Python是一种面向对象.直译式计算机程序设计语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务.它的语法非 ...
- python 免费空间_用python做大数据
不学Python迟早会被淘汰?Python真有这么好的前景? 最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Pytho ...
- python画龙猫_龙猫Python简单学
机关算计基础知识 cpu 相当有大脑负责运算和处理问题 最快 内存 临时充储数据 快 硬盘 云久充储数据 慢 操作系统 为电脑上个个独立的基础设备提供桥梁让他们可以相互建立起链接 python的应用和 ...
- python 创意项目_针对python开发人员的10个很棒的python项目创意
python 创意项目 The joy of coding Python should be in seeing short, concise, readable classes that expre ...
- python queue 调试_学Python不是盲目的,是有做过功课认真去了解的
有多少伙伴是因为一句'人生苦短,我用Python'萌生想法学Python的!我跟大家更新过很多Python学习教程普及过多次的Python相关知识,不过大家还是还得计划一下Python学习路线!Pyt ...
- python整数池_【Python】Python中神奇的小整数对象池和大整数对象池
小整数对象池 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间. Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立 ...
最新文章
- ActiveMQ实现负载均衡+高可用部署方案
- 题库练习5(句子逆序、字符串排序、int型二进制表示中1的个数、购物单)
- canal mysql重置_canal: 首先装完阿里的canal,然后数据库同步,仅供学习参考
- redis实践及思考
- 硬编码与非硬编码(软编码)区别
- 20岁黑客发现苹果核心 web 应用中的严重漏洞,获奖$3.6万
- 基础课教材推荐-数字设计、体系结构
- Caffe学习:pycaffe利用caffemodel进行分类(2)
- 工厂模式+抽象工厂模式
- Java—图书管理系统
- creator小功能----浅谈cc.Director与 资源加载策略
- 3par linux多路径软件,Redhat6.X 配置HP3PAR7200存储多路径过程
- MLI_09 HMM(隐马尔可夫模型)
- CANdelaStudio编辑CDD——学习碎笔
- python调用sendcloud模板发送带附件的邮件
- 单元测试的必要性?一文聊聊单元测试
- 外盘国际期货招商:股票短线操作心态
- 机器人辅助符文天赋符文天赋_2020机器人符文出装 s10机器人辅助出装天赋推荐...
- 自学计算机一年找到工作-学习路线
- 综合能源系统电压稳定研究(Matlab代码实现)
热门文章
- 【2011.10.29模拟】24点游戏题解
- 牛顿法和牛顿下山法求极值的理解
- 解决Illegal unquoted character ((CTRL-CHAR, code 13)): has to be escaped using backslash to be include
- matlab nntool 使用步骤: (以p4.3 为例),Matlab_nntool_应用实例
- 一款在线免费的甘特图,让你轻松管理项目进度
- Linux基本文件操作练习(附答案分析)
- AppStore上线审核“App预览和截屏”chrome上的截屏参数
- 手机验证码接收系统如何选择
- 超声检查腕骨间关节有助于最大程度地发现RA腕骨间滑膜炎
- 偏导数(Partial Derivative)