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(一)Python环境安装
Aug 20 Python
给Python初学者的一些编程技巧
Apr 03 Python
使用Python程序抓取新浪在国内的所有IP的教程
May 04 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 Python
JavaScript实现一维数组转化为二维数组
Apr 17 Python
Flask框架WTForm表单用法示例
Jul 20 Python
利用Django模版生成树状结构实例代码
May 19 Python
python中append实例用法总结
Jul 30 Python
python装饰器的特性原理详解
Dec 25 Python
matlab中imadjust函数的作用及应用举例
Feb 27 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
Python实现信息轰炸工具(再也不怕说不过别人了)
Jun 11 Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
python 离散点图画法的实现
Python学习之迭代器详解
Python实战之大鱼吃小鱼游戏的实现
OpenCV实现常见的四种图像几何变换
关于Python使用turtle库画任意图的问题
Apr 01 #Python
You might like
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
2015/02/08 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
2020/01/26 PHP
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
vue实现ToDoList简单实例
2017/02/07 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
2018/05/22 Javascript
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
2019/07/16 Javascript
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
python对文件目录的操作方法实例总结
2019/06/24 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
python创建文本文件的简单方法
2020/08/30 Python
解决Windows下python和pip命令无法使用的问题
2020/08/31 Python
HTML5之多线程(Web Worker)
2019/01/02 HTML / CSS
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
招商专员岗位职责
2014/02/08 职场文书
精彩广告词大全
2014/03/19 职场文书
推荐信格式范文
2014/05/09 职场文书
环境保护标语
2014/06/20 职场文书
装修施工安全责任书
2014/07/24 职场文书
教师个人教学反思
2016/02/23 职场文书
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python
5种 JavaScript 方式实现数组扁平化
2021/10/05 Javascript
《LOL》“克隆大作战”久违归来 幻灵战队皮肤上线
2022/04/03 其他游戏