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

yipeiwu_com5年前Python基础

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搜索路径等,如有不足之处,欢迎留言支持。感谢朋友们对本站的支持!

相关文章

TensorFlow 模型载入方法汇总(小结)

TensorFlow 模型载入方法汇总(小结)

一、TensorFlow常规模型加载方法 保存模型 tf.train.Saver()类,.save(sess, ckpt文件目录)方法 参数名称...

用Q-learning算法实现自动走迷宫机器人的方法示例

用Q-learning算法实现自动走迷宫机器人的方法示例

项目描述: 在该项目中,你将使用强化学习算法,实现一个自动走迷宫机器人。 如上图所示,智能机器人显示在右上角。在我们的迷宫中,有陷阱(红色×××)及终点(蓝色的目标点)两种情景。机器人...

python快速排序代码实例

一、 算法描述: 1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。 &...

Python 分析Nginx访问日志并保存到MySQL数据库实例

使用Python 分析Nginx access 日志,根据Nginx日志格式进行分割并存入MySQL数据库。一、Nginx access日志格式如下:复制代码 代码如下:$remote_...

Python去掉字符串中空格的方法

我们经常在处理字符串时遇到有很多空格的问题,一个一个的去手动删除不是我们程序员应该做的事情,今天这篇技巧的文章【听图阁-专注于Python设计】就来给大家讲一下,如何用Python去除字...