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实现批量修改文件名实例
Jul 08 Python
Python使用email模块对邮件进行编码和解码的实例教程
Jul 01 Python
Python脚本实时处理log文件的方法
Nov 21 Python
详解python 拆包可迭代数据如tuple, list
Dec 29 Python
Pandas 同元素多列去重的实例
Jul 03 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
Aug 07 Python
Python学习笔记之变量、自定义函数用法示例
May 28 Python
解决Python对齐文本字符串问题
Aug 28 Python
Tensorflow与Keras自适应使用显存方式
Jun 22 Python
解决python 虚拟环境删除包无法加载的问题
Jul 13 Python
Python装饰器如何实现修复过程解析
Sep 05 Python
微信小程序调用python模型
Apr 21 Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
python 离散点图画法的实现
Python学习之迭代器详解
Python实战之大鱼吃小鱼游戏的实现
OpenCV实现常见的四种图像几何变换
关于Python使用turtle库画任意图的问题
Apr 01 #Python
You might like
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
2018/01/23 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
Python操作列表之List.insert()方法的使用
2015/05/20 Python
Python实现识别手写数字 Python图片读入与处理
2020/03/23 Python
python制作图片缩略图
2019/04/30 Python
matlab灰度图像调整及imadjust函数的用法详解
2020/02/27 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
浅谈python3打包与拆包在函数的应用详解
2020/05/02 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
印尼在线精品店:Berrybenka.com
2016/10/22 全球购物
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
Weblogic的布署方式
2013/08/23 面试题
培训心得体会
2013/12/29 职场文书
应届中专生自荐书范文
2014/02/13 职场文书
社区护士演讲稿
2014/08/27 职场文书
2015年服务员工作总结
2015/04/08 职场文书
python某漫画app逆向
2021/03/31 Python
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python