最近需要在python中做大日志文件中做正则匹配

开始直接在for in 中每行做re.findall,后来发现,性能不行,就在re前面做一个基本的字符串包含判断 (str in str),如果不包含直接continue

效率对比:

1、只做一次包含判断:

real 0m13.740s
user 0m12.683s
sys 0m1.046s

2、做两次包含判断:

real 0m9.226s
user 0m8.134s
sys 0m1.069s

3、不做包含判断:

real 0m25.205s
user 0m24.165s
sys 0m1.021s

样本日志1G

转载于:https://www.cnblogs.com/yaoyi/p/6748048.html

[python]关于字符串查找和re正则表达式的效率对比相关推荐

  1. python编写字符串查找函数_Python 简明教程 --- 8,Python 字符串函数

    好代码本身就是最好的文档.当你需要添加一个注释时,你应该考虑如何修改代码才能不需要注释. -- Steve McConnell 目录 字符串有很多操作函数,所以,这里我们专门用一节来介绍这些函数. 建 ...

  2. python io密集型应用案例-Python中单线程、多线程和多进程的效率对比实验实例

    python的多进程性能要明显优于多线程,因为cpython的GIL对性能做了约束. Python是运行在解释器中的语言,查找资料知道,python中有一个全局锁(GIL),在使用多进程(Thread ...

  3. python原生字符串可以参与比较_正则表达式中对于原生字符串的理解

    在正则表达式中,有些字符是有特殊意义的字符.因此如果想要匹配这些字符,那么就必须使用反斜杠进行转义.比如$代表的是以...结尾,如果想要匹配$,那么就必须使用\$.示例代码如下: text = &qu ...

  4. python中字符串查找子串_Python字符串中查找子串的方法

    Python字符串中查找子串的方法 发布于 2015-04-12 08:58:32 | 230 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面向对象.解释型计 ...

  5. mysql正则提取字符串_mysql字符串查找截取与正则表达式的联合应用

    /* 判断字符串里的内容是否是数值类型 **************************************************** is_double 输入参数: str:       ...

  6. mysql 正则截取字符串_mysql字符串查找截取与正则表达式的联合应用 | 学步园

    /* 判断字符串里的内容是否是数值类型 **************************************************** is_double 输入参数: str:       ...

  7. Python去除字符串中某个字符多种实现方式对比

    1.如何去掉字符串中不需要的字符? 实际案例: (1)过滤掉用户输入前后多余的空白字符:' nick2008@gmail.com ' (2)过滤某windows下编辑文本中的'\r':'hello w ...

  8. Python中单线程、多线程与多进程的效率对比实验

    Python是运行在解释器中的语言,查找资料知道,python中有一个全局锁(GIL),在使用多进程(Thread)的情况下,不能发挥多核的优势.而使用多进程(Multiprocess),则可以发挥多 ...

  9. python3 字符串查找 效率比较

    Python中字符串查找方式有多种,常见的有re.match/search or str.find 用一个例子来说明各种方式的效率如下: from timeit import timeit impor ...

最新文章

  1. matlab实现瑞利信道需要的步骤,基于Matlab的瑞利信道仿真.docx
  2. puppet kick 功能
  3. oracle优质图书,经典Oracle图书推荐(之四)_oracle
  4. python每秒20个请求_使用Python每秒百万个请求
  5. Hibernate的fetch
  6. oracle rank 语法_oracle rank函数怎么用
  7. wpf mysql存储过程_MySQL存储过程的创建及调用
  8. Julia : Set or Array ?
  9. linux 剪贴板_如何在Linux上使用剪贴板管理器
  10. 用Python合并多张EXCEL工作表
  11. 世界上最好的学习法:费曼学习法(学习总总结再学习再总结的过程)
  12. 海思Hi3531DV100开发环境搭建
  13. Hbase的Hmaster高可用分布式报错probably a clock skew
  14. 运维是计算机行业里技术含量最低的岗位吗?
  15. 矩阵乘法计算方法总结
  16. 双阶乘C语言,c阶乘公式(排列组合与阶乘)
  17. uIP resolv_found的实现
  18. 315/433无线模块解码
  19. x210开发板升级glibc-2.10到glibc-2.18版本的解决方案
  20. 全选、全不选,批量操作

热门文章

  1. 用netty实现zcool_Netty 如何玩转内存使用
  2. 360浏览器如何保存html文件夹下,在360浏览器中将书签保存的详细步骤
  3. bmp图片加水印C语言,[求助]C语言 bmp文件加上水印
  4. mysql内连接运算量会增加多少_新年手打,40道经典MYSQL面试干货,速来收藏
  5. java link 使用_使用 C 实现Java LinkList
  6. java arraylist和list_Java中ArrayList和LinkedList区别
  7. ndk 不用java_使用NDK创建及配置C++程序(原生纯C++项目,不包含JAVA代码)
  8. 计算机网络工程实用技术考试,计算机网络实用技术期中考试复习题.doc
  9. 要想进入顶级数据公司,2020年数据科学10大技能帮你加分
  10. C++:rand()函数和srand()函数解读