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 datetime时间格式化去掉前导0
Jul 31 Python
Python列表(list)常用操作方法小结
Feb 02 Python
python实现图片变亮或者变暗的方法
Jun 01 Python
Python常见格式化字符串方法小结【百分号与format方法】
Sep 18 Python
Python 实现两个列表里元素对应相乘的方法
Nov 14 Python
python opencv实现图像边缘检测
Apr 29 Python
python从入门到精通 windows安装python图文教程
May 18 Python
Python 使用folium绘制leaflet地图的实现方法
Jul 05 Python
用python建立两个Y轴的XY曲线图方法
Jul 08 Python
python 列表推导式使用详解
Aug 29 Python
Django 批量插入数据的实现方法
Jan 12 Python
Python栈的实现方法示例【列表、单链表】
Feb 22 Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
python 离散点图画法的实现
Python学习之迭代器详解
Python实战之大鱼吃小鱼游戏的实现
OpenCV实现常见的四种图像几何变换
关于Python使用turtle库画任意图的问题
Apr 01 #Python
You might like
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
支持中文字母数字、自定义字体php验证码代码
2012/02/27 PHP
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
php中file_get_content 和curl以及fopen 效率分析
2014/09/19 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
JavaScript面向对象设计二 构造函数模式
2011/12/20 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
Python urlopen()函数 示例分享
2014/06/12 Python
python定向爬虫校园论坛帖子信息
2018/07/23 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
CSS3 border-image详解、应用及jQuery插件
2011/08/29 HTML / CSS
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
阿迪达斯德国官方网站:adidas德国
2017/07/12 全球购物
C语言基础笔试题
2013/04/27 面试题
领导干部考察材料
2014/02/08 职场文书
个人委托书怎么写
2014/04/04 职场文书
班级口号大全
2014/06/09 职场文书
离婚协议书应该怎么写
2014/10/12 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
2014年幼儿园工作总结
2014/11/10 职场文书