如果需要对一个正则表达式重复使用,那么可以使用compile()函数对其进行预编译,以避免每次编译正则表达式的开销。complie()函数语法格式如下:compile(pattern, flags=0)

上述格式中的参数pattern表示一个正则表达式,参数flags用于指定正则匹配的模式,该参数的常用取值如表1所示。

表11-1 常用的匹配模式

flags说明re.I忽略大小写

re.L做本地化识别(locale-aware)匹配,使预定义字符集\w、\W、\b、\B、\s、\S取决于当前区域设定

re.M多行匹配,影响^和$

re.S使.匹配所有字符,包括换行符

re.U根据Unicode字符集解析字符

re.A根据ASCII字符集解析字符

re.X允许使用更灵活的格式(可以是多行、忽略空白字符、可加入注释)书写正则表达式,以便表达式更易理解

complie()函数的用法如下所示:import re

regex_obj = re.compile(r'\d')

以上第2行代码中,通过compile()函数将正则的匹配模式“\d”预编译为正则对象regex_obj。

假设当前有一组字符串“Today is March 28, 2019.”,通过正则对象regex_obj的findall()方法就可以查找到所有的匹配结果,示例代码如下:words = 'Today is March 28, 2019.'

print(regex_obj.findall(words))

以上示例中的findall()函数用于获取目标文本中所有符合条件的内容。

运行代码,结果如下所示:['2', '8', '2', '0', '1', '9']如果想要匹配一组字符串中所有的英文字母,可通过设置flags参数忽略英文字母的大小写,具体代码如下:import re

regex_one = re.compile(r'[a-z]+', re.I)

words = 'Today is March 28, 2019.'

print(regex_one.findall(words))

上述代码中的匹配模式“[a-z]+”表示匹配最少匹配一次小写英文字母,当设置flags参数为re.I后该匹配模式便会忽略英文字母的大小写,匹配结果将会包含字符串words中的所有英文字母。

运行代码,结果如下所示:['Today', 'is', 'March']

猜你喜欢:

python 正则表达式 compile_使用compile()函数编译正则表达式【Python技术文章】相关推荐

  1. python 中的 re.compile 函数(转)

    1. 使用re.compile re模块中包含一个重要函数是compile(pattern [, flags]) ,该函数根据包含的正则表达式的字符串创建模式对象.可以实现更有效率的匹配.在直接使用字 ...

  2. python最大值_Python 获取最大值函数|python3教程|python入门|python教程

    https://www.xin3721.com/eschool/pythonxin3721/ 以下实例中我们使用max()方法求最大值: # -*- coding: UTF-8 -*- # Filen ...

  3. python中len是什么函数_总结Python中len()函数的使用实例

    这篇文章主要简单介绍了Python中的len()函数的使用,包括在四种情况下的使用小例子,是Python学习当中的基础知识,需要的朋友可以参考下 函数:len() 1:作用:返回字符串.列表.字典.元 ...

  4. python里面的内置函数_【python】函数之内置函数

    今天来介绍一下Python解释器包含的一系列的内置函数,下面表格按字母顺序列出了内置函数: 下面就一一介绍一下内置函数的用法: 1.abs() 返回一个数值的绝对值,可以是整数或浮点数等. print ...

  5. python用户名和密码登录函数_基于Python构建用户ID和密码存储查询系统,python,建立,一个,用户名,UserID,Password,的...

    大家好,本篇博客目的是建立存储和查询用户名和密码的python系统,基础好的可跳过中间小干货,源码在末尾,喜欢的留下小赞哦! 系统主要功能 主要功能如下: 创建一个新用户及其密码 修改值定用户的密码 ...

  6. python什么是高阶函数_说说 Python 中的高阶函数

    高阶函数(higher-order function)指的是:接受一个函数为参数,或者把函数作为结果值返回的函数1. 1 sorted() 比较常见的高阶函数是 sorted(),其内部的关键字参数 ...

  7. python一个函数调用另一个函数_在Python中将函数作为另一个函数的参数传入并调用的方法...

    在Python中,函数本身也是对象,所以可以将函数作为参数传入另一函数并进行调用 在旧版本中,可以使用apply(function, *args, **kwargs)进行调用,但是在新版本中已经移除, ...

  8. 用python写一个除法的函数_2、Python基础--除法、常用数学函数

    整数与整数相除: >>> 2/5 0 >>> 2.0/5 0.4 >>> 2/5.0 0.4 >>> 2.0/5.0 0.4 & ...

  9. python二维图颜色函数_通过python改变图片特定区域的颜色详解

    通过python改变图片特定区域的颜色详解 首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便找一个编程语言的 ...

  10. python变量后加点和函数_在python中运行函数后,是否要更改变量?

    所以我从我正在读的一本书中写了这个函数,它是这样开始的:def cheese_and_crackers(cheese_count, boxes_of_crackers): print "Yo ...

最新文章

  1. 网络推广——符合网站现状的优化方案才是最适合进行网络推广的方案
  2. js判断是否是ie浏览器且给出ie版本
  3. Acwing第 7 场周赛【未完结】
  4. python + pyqt5 UI和信号槽分离方法
  5. python enumerate()
  6. Android 控件 - Button
  7. ubuntu系统写路由指令_在Ubuntu中如何查看网络路由表详解,
  8. java imageicon 路径_java awt ImageIcon icon 相对路径设置
  9. Atom飞行手册翻译: 3.6 图标
  10. Instance2:login interface
  11. RecyclerView 判断滑到底部 顶部 预加载 更多 分页 MD
  12. python文件操作完成_基于python的文件操作
  13. Video Matting:AI视频抠图
  14. CSS 中 position 属性详解
  15. C语言系列(5) --- C语言文件的操作
  16. windows消息机制
  17. 程序流程图N-S图PAD图
  18. Tapestry介绍
  19. 46 同位语和同位语从句(以及) to/at/for/with 用法搭配
  20. Java 第十五次作业

热门文章

  1. 云更新服务器更新不了最新游戏,云更新服务器环境要求 | 专业网吧维护
  2. 使用迅雷等下载工具下载Android SDK快速安装
  3. 计网考点 无线局域网
  4. [netplus]初见,Netplus快速开始之PingPong Example
  5. PAT乙级做题部分总结
  6. java毫秒_JAVA中怎么获取毫秒和微秒数
  7. Java去除空格符号
  8. GrapeCity Documents for PDF[GcPDF]
  9. angularjs pdf插件_AngularJS实战 PDF 下载
  10. matlab恶狼追兔问题,饿狼追兔问题-数学建模.doc