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的Django框架中的Cookie相关处理
Jul 22 Python
举例讲解Python中的list列表数据结构用法
Mar 12 Python
python中函数默认值使用注意点详解
Jun 01 Python
Python使用django搭建web开发环境
Jun 09 Python
python 接口测试response返回数据对比的方法
Feb 11 Python
使用python进行拆分大文件的方法
Dec 10 Python
使用Python OpenCV为CNN增加图像样本的实现
Jun 10 Python
Python简单处理坐标排序问题示例
Jul 11 Python
使用python实现unix2dos和dos2unix命令的例子
Aug 13 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
Jan 18 Python
浅析Python的命名空间与作用域
Nov 25 Python
python 基于Apscheduler实现定时任务
Dec 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
解析php中call_user_func_array的作用
2013/06/07 PHP
PHP数组排序之sort、asort与ksort用法实例
2014/09/08 PHP
PIGCMS 如何关闭聊天机器人
2015/02/12 PHP
PHP实现的增强性mhash函数
2015/05/27 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
Jquery AJAX 用于计算点击率(统计)
2010/06/30 Javascript
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
js 浏览器事件介绍
2012/03/30 Javascript
js中判断Object、Array、Function等引用类型对象是否相等
2012/08/29 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
2014/08/12 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
简单实现Python爬取网络图片
2018/04/01 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
2019/05/29 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
Django对接支付宝实现支付宝充值金币功能示例
2019/12/17 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
python实现udp聊天窗口
2020/03/31 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
python进度条显示之tqmd模块
2020/08/22 Python
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
2014年会策划方案
2014/05/11 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书