1. 使用re.compile

re模块中包含一个重要函数是compile(pattern [, flags]) ,该函数根据包含的正则表达式的字符串创建模式对象。可以实现更有效率的匹配。在直接使用字符串表示的正则表达式进行search,match和findall操作时,python会将字符串转换为正则表达式对象。而使用compile完成一次转换之后,在每次使用模式的时候就不用重复转换。当然,使用re.compile()函数进行转换后,re.search(pattern, string)的调用方式就转换为 pattern.search(string)的调用方式。

其中,后一种调用方式中,pattern是用compile创建的模式对象。如下:

>>> import re
>>> some_text = 'a,b,,,,c d'
>>> reObj = re.compile('[, ]+')
>>> reObj.split(some_text)
['a', 'b', 'c', 'd']

2.不使用re.compile

在进行search,match等操作前不适用compile函数,会导致重复使用模式时,需要对模式进行重复的转换。降低匹配速度。而此种方法的调用方式,更为直观。如下:

>>> import re
>>> some_text = 'a,b,,,,c d'
>>> re.split('[, ]+',some_text)
['a', 'b', 'c', 'd']

转载于:https://www.cnblogs.com/z-x-y/p/8280745.html

python 中的 re.compile 函数(转)相关推荐

  1. python平方数迭代器_对python中的高效迭代器函数详解

    python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: ...

  2. python函数分几种_简单了解Python中的几种函数

    python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter.map.reduce.lambda.yield lambda lambda函数的使用方法:在lam ...

  3. Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用...

    Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...

  4. python中的高阶函数

    python中的高阶函数 文章目录: 1 什么是高阶函数? 1.1 高阶函数:一个函数的`函数名`作为参数传给另外一个函数 1.2 高阶函数:一个函数返回值(return)为另外一个`函数` 2 py ...

  5. Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略

    Python编程语言学习:python中与数字相关的函数(取整等).案例应用之详细攻略 目录 python中与数字相关的函数 1.对小数进行向上取整 1.1.利用numpy库 1.2.利用math库

  6. Python中字符串常用处理函数

    ** Python中字符串常用处理函数 ** 1.len( )函数 用len( )函数计算字符串的长度 2.strip( )函数 删除字符串两边的空白符(包括:'\n'.'\t'.'\r') 注:只能 ...

  7. 【Python】Python中str()和repr()函数的区别

    作用 在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str() 或者 repr() . 区别与使用 参考文章:Python 中 str() 和 repr() 函数的 ...

  8. python中比较重要的几个函数_Python 几个重要的内置函数 python中的内置函数和关键字需要背过吗...

    python重要的几个内置函数用法 python内置函数什么用忘不掉的是回忆,继续的是生活,错过的,就当是路过吧.来来往往身边出现很多人,总有一个位置,一直没有变.看看温暖的阳光,偶尔还是会想一想. ...

  9. python items函数用法,Python中dictionary items()系列函数的用法实例

    本文实例讲述了Python中dictionary items()系列函数的用法,对Python程序设计有很好的参考借鉴价值.具体分析如下: 先来看一个示例: import html # availab ...

最新文章

  1. matlab bs2rv.m,Matlab智能算法之遗传算法(一)
  2. ML之PLiR之LARS:利用LARS算法求解ElasticNet回归类型(包括类别编码+属性重要程度排序)问题(实数值年龄预测)
  3. excel查标准正态分布_用EXCEL简易制作正态分布图
  4. 透明色代码是多少_北京宣传画册印刷多少钱
  5. 软件工程心理学之3---甲方项目负责人 PK 乙方
  6. mysql在linux只有用空密码_在Linux服务器上配置phpMyAdmin--允许空密码
  7. ORACLE START WITH 语句的树级结构例子
  8. Linux内存管理:一个故事看懂CPU内存管理技术
  9. 关于智能推荐的几点思考
  10. java停止循环label_Java中的break Label 和continue Label 例子(跳出多重循环)(转)...
  11. 【Qt教程】1.6 - Qt5信号与槽、Single Slot emit、自定义信号、自定义槽
  12. php是什么博客园,PHP 架构之路 - Richards - 博客园
  13. Shell命令-系统信息及显示之free、cal
  14. 利用数据库管理国际化资源配置以及自定义标签实现国际化效果
  15. python socket清空接受区_用 Python 开发一个 「聊天室」
  16. 一个免费提升独立站转化率神器-tidio实时在线客服聊天工具
  17. Word排版艺术 读后感
  18. 【每周更新】OpenWrtLEDE精品软路由x86/64稳定版固件下载
  19. WPS通过宏工具批量修改图片尺寸
  20. 物理不好适合学计算机,理科女物理不好、数学一般,能不能学计算机、经济学专业?...

热门文章

  1. 【video frame interpolation系列1】背景知识: forward and backward image warping (图像扭曲/变换)
  2. 使用BBED恢复DELETE的数据
  3. mac-怎么查询mac苹果电脑的保修期
  4. Gradle安装部署与基础入门详解
  5. 各版本最新的Visual C++可再发行组件包(Redistributable Package)下载和合集
  6. 模型量化(1):模型量化简介
  7. 阿里心电图数据特征分析
  8. DNS篇之DNS协议详解
  9. 安装程序时出现2502 2503错误解决方法
  10. Altium Designer重拾之学习资料推荐