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实现list元素按关键字相加减的方法示例
Jun 09 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
python实现自动登录
Sep 17 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
Win10 安装PyCharm2019.1.1(图文教程)
Sep 29 Python
TensorFlow内存管理bfc算法实例
Feb 03 Python
pytorch 多分类问题,计算百分比操作
Jul 09 Python
浅析Python打包时包含静态文件处理方法
Jan 15 Python
使用OpenCV实现人脸图像卡通化的示例代码
Jan 15 Python
python中@contextmanager实例用法
Feb 07 Python
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
May 24 Python
PyCharm 配置SSH和SFTP连接远程服务器
May 11 Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
python 离散点图画法的实现
Python学习之迭代器详解
Python实战之大鱼吃小鱼游戏的实现
OpenCV实现常见的四种图像几何变换
关于Python使用turtle库画任意图的问题
Apr 01 #Python
You might like
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
snoopy PHP版的网络客户端提供本地下载
2008/04/15 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
2012/09/13 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
2016/01/07 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
Prototype使用指南之selector.js说明
2008/10/26 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
在Python程序和Flask框架中使用SQLAlchemy的教程
2016/06/06 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
浅谈Python中带_的变量或函数命名
2017/12/04 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
python实现音乐下载的统计
2018/06/20 Python
对python遍历文件夹中的所有jpg文件的实例详解
2018/12/08 Python
在Python中表示一个对象的方法
2019/06/25 Python
关于Python内存分配时的小秘密分享
2019/09/05 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
python3将变量输入的简单实例
2020/08/19 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
2021/01/08 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
YesStyle美国/全球:购买亚洲时装、美容化妆品和生活百货
2017/01/16 全球购物
艺术专业大学生自我评价
2013/09/22 职场文书
销售人员求职的自我评价分享
2014/03/15 职场文书
中职生自荐信范文
2014/06/15 职场文书
数学教育专业求职信
2014/07/22 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
后勤个人工作总结
2015/02/28 职场文书
办公室行政主管岗位职责
2015/04/09 职场文书
学校推普周活动总结
2015/05/07 职场文书
公司晚会主持词
2019/04/17 职场文书
Python实现滑雪小游戏
2021/09/25 Python