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 实现文件的递归拷贝实现代码
Aug 02 Python
python实现的简单猜数字游戏
Apr 04 Python
怎样使用Python脚本日志功能
Aug 14 Python
Python编程实现二叉树及七种遍历方法详解
Jun 02 Python
ubuntu中配置pyqt4环境教程
Dec 27 Python
python twilio模块实现发送手机短信功能
Aug 02 Python
python 使用socket传输图片视频等文件的实现方式
Aug 07 Python
淘宝秒杀python脚本 扫码登录版
Sep 19 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
Mar 14 Python
Python如何转换字符串大小写
Jun 04 Python
python字典进行运算原理及实例分享
Aug 02 Python
使用Python开发贪吃蛇游戏 SnakeGame
Apr 30 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
基于mysql的论坛(4)
2006/10/09 PHP
PHP 进程锁定问题分析研究
2009/11/24 PHP
php中explode的负数limit用法分析
2015/02/27 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
nodejs教程之制作一个简单的文章发布系统
2014/11/21 NodeJs
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
vue如何在项目中调用腾讯云的滑动验证码
2020/07/15 Javascript
[13:39]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第一场
2014/05/26 DOTA
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
速比涛英国官网:Speedo英国
2019/07/15 全球购物
Ajax和javascript的区别
2013/07/20 面试题
经济系大学生求职信
2013/10/01 职场文书
电气自动化大学生求职信
2013/10/16 职场文书
客服文员岗位职责
2013/11/29 职场文书
自主实习接收函
2014/01/13 职场文书
小学毕业感言500字
2014/02/28 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
网吧温馨提示
2015/07/17 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
Mysql实现主从配置和多主多从配置
2021/06/02 MySQL