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函数嵌套实例
Sep 23 Python
Django框架下在视图中使用模版的方法
Jul 16 Python
python实现监控某个服务 服务崩溃即发送邮件报告
Jun 21 Python
python3 实现对图片进行局部切割的方法
Dec 05 Python
python+webdriver自动化环境搭建步骤详解
Jun 03 Python
Python搭建Spark分布式集群环境
Jul 05 Python
django settings.py 配置文件及介绍
Jul 15 Python
如何利用pygame实现简单的五子棋游戏
Dec 29 Python
Pycharm及python安装详细教程(图解)
Jul 31 Python
Python3如何使用tabulate打印数据
Sep 25 Python
python 批量下载bilibili视频的gui程序
Nov 20 Python
scrapy在python爬虫中搭建出错的解决方法
Nov 22 Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
python 离散点图画法的实现
Python学习之迭代器详解
Python实战之大鱼吃小鱼游戏的实现
OpenCV实现常见的四种图像几何变换
关于Python使用turtle库画任意图的问题
Apr 01 #Python
You might like
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
php树型类实例
2014/12/05 PHP
PHP中把数据库查询结果输出为json格式简单实例
2015/04/09 PHP
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
ajax请求get与post的区别总结
2013/11/04 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
Shell脚本实现Linux系统和进程资源监控
2015/03/05 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
python分割和拼接字符串
2013/11/01 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
python实现日常记账本小程序
2018/03/10 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
Django获取model中的字段名和字段的verbose_name方式
2020/05/19 Python
Pytorch转tflite方式
2020/05/25 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
让IE支持HTML5的方法
2012/12/11 HTML / CSS
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
广州喜创信息技术有限公司JAVA软件工程师笔试题
2012/10/17 面试题
英语专业毕业生自我鉴定
2013/11/09 职场文书
学院书画协会部门岗位职责
2013/12/01 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers