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列表计数及插入实例
Dec 17 Python
详解使用 pyenv 管理多个版本 python 环境
Oct 19 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
Pandas过滤dataframe中包含特定字符串的数据方法
Nov 07 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
Aug 09 Python
浅谈Django+Gunicorn+Nginx部署之路
Sep 11 Python
详解Python3中的 input() 函数
Mar 18 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
深入了解NumPy 高级索引
Jul 24 Python
使用jupyter notebook运行python和R的步骤
Aug 13 Python
python 如何调用 dubbo 接口
Sep 24 Python
python 牛顿法实现逻辑回归(Logistic Regression)
Oct 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 函数语法介绍一
2009/06/14 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
PHP实现的统计数据功能详解
2016/12/06 PHP
javascript之水平横向滚动歌词同步的应用
2007/05/07 Javascript
JQuery 操作select标签实现代码
2010/05/14 Javascript
JavaScript中的稀疏数组与密集数组[译]
2012/09/17 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
2013/08/15 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
详解Nodejs之静态资源处理
2017/06/05 NodeJs
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
Vue验证码60秒倒计时功能简单实例代码
2018/06/22 Javascript
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
浅谈KOA2 Restful方式路由初探
2019/03/14 Javascript
如何在vue中使用jointjs过程解析
2020/05/29 Javascript
Python迭代器和生成器介绍
2015/03/06 Python
Python去除字符串两端空格的方法
2015/05/21 Python
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
Python cookbook(数据结构与算法)根据字段将记录分组操作示例
2018/03/19 Python
Pycharm 设置默认头的图文教程
2019/01/17 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
解决import tensorflow导致jupyter内核死亡的问题
2021/02/06 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
html5.2 dialog简介详解
2018/02/27 HTML / CSS
艺术用品:Arteza
2018/11/25 全球购物
精灵市场:Pixie Market
2019/06/18 全球购物
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
类的返射机制中的包及核心类
2016/09/12 面试题
全国助残日活动总结
2015/05/11 职场文书
志愿者服务宣传标语口号
2015/12/26 职场文书
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript