Python正则表达式中flags参数的实例详解


Posted in Python onApril 01, 2022

flags参数

re.I
    IGNORECASE
    忽略字母大小写

re.L
    LOCALE
    影响 “w, “W, “b, 和 “B,这取决于当前的本地化设置。

re.M
    MULTILINE
    使用本标志后,‘^’和‘$’匹配行首和行尾时,会增加换行符之前和之后的位置。

re.S
    DOTALL
    使 “.” 特殊字符完全匹配任何字符,包括换行;没有这个标志, “.” 匹配除了换行符外的任何字符。

re.X
    VERBOSE
    当该标志被指定时,在 RE 字符串中的空白符被忽略,除非该空白符在字符类中或在反斜杠之后。
    它也可以允许你将注释写入 RE,这些注释会被引擎忽略;
    注释用 “#”号 来标识,不过该符号不能在字符串或反斜杠之后。

忽略大小写

import re
text = '我爱Python我爱python'
pat1 = 'p'
# search
r1 = re.findall(pattern=pat1, string=text, flags=re.I)
print(r1)

[‘P’, ‘p’]

多行模式

import re
text = '我爱数学\n我爱Python\n我爱python'
pat1 = '^我'
# search
r1 = re.findall(pattern=pat1, string=text)
r2 = re.findall(pattern=pat1, string=text, flags=re.M)
print(r1)
print(r2)

[‘我’]
[‘我’, ‘我’, ‘我’]

匹配任何字符

import re
text = '''
我爱Python
我爱pandas
'''
pat1 = '.我'
# search
r1 = re.findall(pattern=pat1, string=text, flags=re.S)
print(r1)
r2 = re.findall(pattern=pat1, string=text)
print(r2)

[’\n我’, ‘\n我’]
[]

补充:正则表达式中的flags

MULTILINE,多行模式, 改变 ^ 和 $ 的行为

In [63]: s
Out[63]: 'first line\nsecond line\nthird line'
 
In [64]: pattern=re.compile(r'^\w+')
 
In [65]: re.findall(pattern,s)
Out[65]: ['first']
 
In [67]: pattern=re.compile(r'^\w+',re.M)
 
In [68]: re.findall(pattern,s)
Out[68]: ['first', 'second', 'third']

re.S   DOTALL,此模式下 '.' 的匹配不受限制,可匹配任何字符,包括换行符,也就是默认是不能匹配换行符

In [62]: s = '''first line
    ...: second line
    ...: third line'''
 
In [71]: regex=re.compile('.+',re.S)
 
In [73]: regex.findall(s)
Out[73]: ['first line\nsecond line\nthird line']
 
In [74]: regex=re.compile('.+')
 
In [75]: regex.findall(s)
Out[75]: ['first line', 'second line', 'third line']

re.X    VERBOSE,冗余模式, 此模式忽略正则表达式中的空白和#号的注释

email_regex = re.compile("[\w+\.]+@[a-zA-Z\d]+\.(com|cn)")
 
email_regex = re.compile("""[\w+\.]+  # 匹配@符前的部分
                            @  # @符
                            [a-zA-Z\d]+  # 邮箱类别
                            \.(com|cn)   # 邮箱后缀  """, re.X)

总结

到此这篇关于Python正则表达式中flags参数的文章就介绍到这了,更多相关Python正则表达式flags参数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
基于python实现的抓取腾讯视频所有电影的爬虫
Apr 22 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 Python
python 线程的暂停, 恢复, 退出详解及实例
Dec 06 Python
Python列表切片用法示例
Apr 19 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
May 23 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
详解K-means算法在Python中的实现
Dec 05 Python
python 与服务器的共享文件夹交互方法
Dec 27 Python
django 信号调度机制详解
Jul 19 Python
Python Tensor FLow简单使用方法实例详解
Jan 14 Python
Pycharm中import torch报错的快速解决方法
Mar 05 Python
python logging模块的使用详解
Oct 23 Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
python 离散点图画法的实现
Python学习之迭代器详解
Python实战之大鱼吃小鱼游戏的实现
OpenCV实现常见的四种图像几何变换
关于Python使用turtle库画任意图的问题
Apr 01 #Python
You might like
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
thinkphp模板的包含与渲染实例分析
2014/11/26 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
javascript利用初始化数据装配模版的实现代码
2010/11/17 Javascript
js精度溢出解决方案
2012/12/02 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
javascript回车完美实现tab切换功能
2014/03/13 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
2016/02/02 Javascript
javascript拖拽应用实例(二)
2016/03/25 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
React中的refs的使用教程
2018/02/13 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
seajs和requirejs模块化简单案例分析
2019/08/26 Javascript
javascript 原型与原型链的理解及实例分析
2019/11/23 Javascript
用python读写excel的方法
2014/11/18 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
深入浅析Python的类
2018/06/22 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
CSS3动画和HTML5新特性详解
2020/08/31 HTML / CSS
美国著名手表网站:Timepiece
2017/11/15 全球购物
西班牙土拨鼠床垫公司,感觉在云端:Marmota
2019/03/18 全球购物
长青弘远的面试题
2012/06/09 面试题
大学团支书的自我评价分享
2013/12/14 职场文书
文秘人员工作职责
2014/01/31 职场文书
《盲人摸象》教学反思
2014/02/16 职场文书
2014年社区重阳节活动策划方案
2014/09/16 职场文书
企业投资意向书
2015/05/09 职场文书
机器人总动员观后感
2015/06/09 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python