python正则表达式re之compile函数解析
作者:Winterto1990 发布时间:2022-12-03 04:24:02
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'的单词
来源:http://blog.csdn.net/winterto1990/article/details/47361701


猜你喜欢
- 1. 引言深拷贝和浅拷贝是Python中重要的概念,本文重点介绍在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理。闲话少说,我们直接开
- 如何最准确地统计在线用户数?我们推荐的这个程序据说是目前最好的在线用户数量统计程序。代码如下:'首先要设置好global.asa&n
- 本笔记目的是通过tensorflow实现一个两层的神经网络。目的是实现一个二次函数的拟合。如何添加一层网络代码如下:def add_laye
- 介绍Prometheus 的基本原理是通过 HTTP 周期性抓取被监控组件的状态。任意组件只要提供对应的 HTTP 接口并且符合 Prome
- 这里有numpy数组的相关介绍https://www.jb51.net/article/130657.htm排序numpy与python列表
- 本文实例讲述了PHP实现mysqli批量执行多条语句的方法。分享给大家供大家参考,具体如下:可以一次性的执行多个操作或取回多个结果集。实例:
- 1、打开本地企业管理器,先创建一个SQL Server注册来远程连接服务器端口SQL Server。步骤如下图:图1:2、弹出窗口后输入内容
- 近期遇到一个需求,就是用PySide2做出一个GUI,并且要将后台使用Matplotlib绘制的图显示在界面上。自己琢磨了蛮久,网上也搜了不
- python之pkl文件pkl文件是python里面保存文件的一种格式,如果直接打开会显示一堆序列化的东西。cPickle在python3中
- 一、直接连接,不封装到工具类中,主要步骤:先导包:mysql-connector-java-5.0.8-bin.jar(点击跳转到下载界面)
- 在Mysql中很多表都包含可为NULL(空值)的列,即使应用程序并不需要保存NULL也是如此,这是因为可为NULL是列的默认属性。但我们常在
- 一、auth模块# 创建超级用户python manage.py createsuperuserfrom django.contrib im
- 在opencv中,特征检测、描述、匹配都有集成的函数。vector<DMatch> bestMatches;用来存储得到的匹配点
- 本文实例为大家分享了Python实点云分割k-means(sklearn),供大家参考,具体内容如下植物叶片分割import numpy a
- string iconv ( string $in_charset , string $out_charset , string $str
- 一 、MySQL版本查询1)登录mysql首先Window+R然后在命令行里输入mysql -u此处填你的mysql账号(注意要加-u) -
- 关于PHP调用Python数据传输问题这是以前大学时做项目出现的问题,现在把它挪上来,希望给遇到问题的未来大佬给出一些小的思路,请大佬们不要
- 今天写了一个简单的验证,本来前面用的组件,但是感觉写的组件在此项目不是很好用,由于用到的地方比较少,所以直接写在了页面中。<div&g
- 本文实例讲述了python自动化测试之从命令行运行测试用例with verbosity,分享给大家供大家参考。具体如下:实例文件recipe
- 通过 register_shutdown_function 方法,可以让我们设置一个当执行关闭时可以被调用的另一个函数。也就是说,当我们的脚