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 相关文章推荐
python3实现短网址和数字相互转换的方法
Apr 28 Python
cmd运行python文件时对结果进行保存的方法
May 16 Python
Python装饰器用法实例总结
May 26 Python
Python 使用type来定义类的实现
Nov 19 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
Jan 02 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
May 07 Python
基于keras中的回调函数用法说明
Jun 17 Python
mac安装python3后使用pip和pip3的区别说明
Sep 01 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
Oct 15 Python
python代码实现猜拳小游戏
Nov 30 Python
python3中布局背景颜色代码分析
Dec 01 Python
如何通过安装HomeBrew来安装Python3
Dec 23 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
example1.php
2006/10/09 PHP
PHP5 面向对象程序设计
2008/02/13 PHP
php购物网站支付paypal使用方法
2010/11/28 PHP
PHP return语句的另一个作用
2014/07/30 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
jquery 指南/入门基础
2007/11/30 Javascript
技术男用来对妹子表白的百度首页
2014/07/23 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
2016/08/17 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
ES6新增数据结构WeakSet的用法详解
2017/08/07 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
微信小程序实现一个简单swiper代码实例
2019/12/30 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
详解python日志输出使用配置文件格式
2021/02/10 Python
财务会计实习报告体会
2013/12/20 职场文书
社会实践活动总结格式
2015/05/11 职场文书
2015年教务主任工作总结
2015/07/22 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
如何用python插入独创性声明
2021/03/31 Python
Python中Cookies导出某站用户数据的方法
2021/05/17 Python
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技
Golang 字符串的常见操作
2022/04/19 Golang