python正则表达式re之compile函数解析


Posted in Python onOctober 25, 2017

re正则表达式模块还包括一些有用的操作正则表达式的函数。下面主要介绍compile函数。

定义:

compile(pattern[,flags] ) 根据包含正则表达式的字符串创建模式对象。

通过python的help函数查看compile含义:

help(re.compile)

compile(pattern, flags=0)

Compile a regular expression pattern, returning a pattern object.

通过help可以看到compile方法的介绍,返回一个pattern对象,但是却没有对第二个参数flags进行介绍。第二个参数flags是匹配模式,可以使用按位或'|'表示同时生效,也可以在正则表达式字符串中指定。Pattern对象是不能直接实例化的,只能通过compile方法得到。匹配模式有:

1).re.I(re.IGNORECASE): 忽略大小写
2).re.M(MULTILINE): 多行模式,改变'^'和'$'的行为
3).re.S(DOTALL): 点任意匹配模式,改变'.'的行为
4).re.L(LOCALE): 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定
5).re.U(UNICODE): 使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性
6).re.X(VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释

例如:

pattern1 = re.compile(r”“”\d + #整数部分 
. #小数点 
\d * #小数部分”“”, re.X)

这里正则表达式为三个”号引起来的多行字符串,则将匹配模式设置为re.X 可以多行匹配。

函数re.compile将正则表达式(以字符串书写的)转换为模式对象,可以实现更加有效的匹配。例子:

import re
text = "JGood is a handsome boy, he is cool, clever, and so on..."
re.findall(r'\w*oo\w*', text)  #查找所有包含'oo'的单词

使用compile函数:

导入re模块:

import re

text = “JGood is a handsome boy, he is cool, clever, and so on…” 
regex = re.compile(r'\w*oo\w*') 
print regex.findall(text) #查找所有包含'oo'的单词

总结

以上就是本文关于python正则表达式re之compile函数解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Python_LDA实现方法详解、python+mongodb数据抓取详细介绍、Python探索之修改Python搜索路径等,如有不足之处,欢迎留言支持。感谢朋友们对本站的支持!

Python 相关文章推荐
Python的迭代器和生成器使用实例
Jan 14 Python
python实现通过代理服务器访问远程url的方法
Apr 29 Python
高效测试用例组织算法pairwise之Python实现方法
Jul 19 Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 Python
python实现爬取图书封面
Jul 05 Python
Python多进程与服务器并发原理及用法实例分析
Aug 21 Python
解决pycharm的Python console不能调试当前程序的问题
Jan 20 Python
OpenCV+Python--RGB转HSI的实现
Nov 27 Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 Python
Django集成celery发送异步邮件实例
Dec 17 Python
python中pow函数用法及功能说明
Dec 04 Python
python的变量和简单数字类型详解
Sep 15 Python
Python2和Python3中print的用法示例总结
Oct 25 #Python
Python_LDA实现方法详解
Oct 25 #Python
python+mongodb数据抓取详细介绍
Oct 25 #Python
python装饰器实例大详解
Oct 25 #Python
Python3 模块、包调用&路径详解
Oct 25 #Python
Python探索之创建二叉树
Oct 25 #Python
Python探索之修改Python搜索路径
Oct 25 #Python
You might like
PHP 变量的定义方法
2010/01/26 PHP
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
php基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
laravel-admin 在列表页添加自定义按钮的例子
2019/09/30 PHP
js控制表单不能输入空格的小例子
2013/11/20 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
微信小程序登录换取token的教程
2018/05/31 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
Web服务器框架 Tornado简介
2014/07/16 Python
Python函数的周期性执行实现方法
2016/08/13 Python
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
python中metaclass原理与用法详解
2019/06/25 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
2020/05/27 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
计算机应用毕业生自荐信
2013/10/23 职场文书
便利店投资的创业计划书
2014/01/12 职场文书
初二生物教学反思
2014/02/03 职场文书
爱护公共设施标语
2014/06/24 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
政协会议宣传标语
2014/10/09 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
档案管理员岗位职责
2015/02/12 职场文书
奔腾年代观后感
2015/06/09 职场文书
初中班主任心得体会
2016/01/07 职场文书
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle