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 应用中使用 MongoDB的方法
Jan 05 Python
用Python将IP地址在整型和字符串之间轻松转换
Mar 22 Python
Python实现爬虫爬取NBA数据功能示例
May 28 Python
python try 异常处理(史上最全)
Mar 07 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
pyqt5 键盘监听按下enter 就登陆的实例
Jun 25 Python
python实现DEM数据的阴影生成的方法
Jul 23 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
Pyecharts绘制全球流向图的示例代码
Jan 08 Python
Python如何获取文件指定行的内容
May 27 Python
通过自学python能找到工作吗
Jun 21 Python
python中的split、rsplit、splitlines用法说明
Oct 23 Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
python 离散点图画法的实现
Python学习之迭代器详解
Python实战之大鱼吃小鱼游戏的实现
OpenCV实现常见的四种图像几何变换
关于Python使用turtle库画任意图的问题
Apr 01 #Python
You might like
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
Zend Guard一些常见问题解答
2008/09/11 PHP
PHP 反向排序和随机排序代码
2010/06/30 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
php函数连续调用实例分析
2015/07/30 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
2015/05/11 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
浅谈struts1 & jquery form 文件异步上传
2017/05/25 jQuery
Angular中的$watch方法详解
2017/09/18 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
Python中os.path用法分析
2015/01/15 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
2018/06/11 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
2019/07/04 Python
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
罗技美国官网:Logitech美国
2020/01/22 全球购物
什么是GWT的Module
2013/01/20 面试题
餐饮收银员岗位职责
2014/02/07 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
商铺消防安全责任书
2014/07/29 职场文书
大学生在校表现评语
2014/12/31 职场文书
个性发展自我评价2015
2015/03/09 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
高中班主任寄语
2019/06/21 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python