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 leveldb
Jan 18 Python
详谈在flask中使用jsonify和json.dumps的区别
Mar 26 Python
Django中间件实现拦截器的方法
Jun 01 Python
Python模块的加载讲解
Jan 15 Python
python调用摄像头拍摄数据集
Jun 01 Python
Python使用selenium + headless chrome获取网页内容的方法示例
Oct 16 Python
原生python实现knn分类算法
Oct 24 Python
python 基于PYMYSQL使用MYSQL数据库
Dec 24 Python
能让Python提速超40倍的神器Cython详解
Jun 24 Python
通过Python把学姐照片做成拼图游戏
Feb 15 Python
详解Python内置模块Collections
Mar 22 Python
代码复现python目标检测yolo3详解预测
May 06 Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
python 离散点图画法的实现
Python学习之迭代器详解
Python实战之大鱼吃小鱼游戏的实现
OpenCV实现常见的四种图像几何变换
关于Python使用turtle库画任意图的问题
Apr 01 #Python
You might like
php/js获取客户端mac地址的实现代码
2013/07/08 PHP
PHP编程中的常见漏洞和代码实例
2014/08/06 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
stripos函数知识点实例分享
2019/02/11 PHP
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
一些javascript一些题目的解析
2010/12/25 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
2016/05/17 Javascript
BootStrap入门教程(三)之响应式原理
2016/09/19 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
2017/04/12 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
JavaScript实现简单的图片切换功能(实例代码)
2020/04/10 Javascript
使用Python对SQLite数据库操作
2017/04/06 Python
zookeeper python接口实例详解
2018/01/18 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
人脸识别经典算法一 特征脸方法(Eigenface)
2018/03/13 Python
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
python中线程和进程有何区别
2020/06/17 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
利物浦足球俱乐部官方网上商店:Liverpool FC Official Store
2018/01/13 全球购物
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
个人找工作求职简历的自我评价
2013/10/20 职场文书
药品营销策划方案
2014/06/15 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
培训心得体会怎么写
2016/01/25 职场文书
会议主持词通用版
2019/04/02 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
分析Netty直接内存原理及应用
2021/06/14 Java/Android
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏
python的html标准库
2022/04/29 Python