Python正则表达式中flags参数的实例详解

 更新时间:2022年04月01日 10:53:07   作者:小基基o_O  
正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,下面这篇文章主要给大家介绍了关于Python正则表达式中flags参数的相关资料,需要的朋友可以参考下

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使用sessions模拟登录淘宝的方式

    python使用sessions模拟登录淘宝的方式

    这篇文章主要介绍了python使用sessions模拟登录淘宝的方式,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • python可视化实现代码

    python可视化实现代码

    今天小编就为大家分享一篇关于python可视化实现代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 高考考python编程是真的吗

    高考考python编程是真的吗

    在本篇文章里小编给大家整理的是一篇关于高考考python编程的相关信息,有兴趣的朋友们阅读下。
    2020-07-07
  • python项目中requirements.txt的用法实例教程

    python项目中requirements.txt的用法实例教程

    Python项目中必须包含一个requirements.txt文件,用于记录所有依赖包及其精确的版本号,以便新环境部署,下面这篇文章主要给大家介绍了关于python项目中requirements.txt用法的相关资料,需要的朋友可以参考下
    2022-06-06
  • Python时间戳与日期格式之间相互转化的详细教程

    Python时间戳与日期格式之间相互转化的详细教程

    java默认精度是毫秒级别的,生成的时间戳是13位,而python默认是10位的,精度是秒,下面这篇文章主要给大家介绍了关于Python时间戳与日期格式之间相互转化的相关资料,需要的朋友可以参考下
    2022-08-08
  • Matplotlib自定义图例(多张图共享一个图例)

    Matplotlib自定义图例(多张图共享一个图例)

    最近再用Matplotlib绘图,需要做两个子图都不需要设置图例,图例单独用一个figure来显示,本文就详细的来介绍一下,感兴趣的可以了解一下
    2023-08-08
  • Python计算斗牛游戏概率算法实例分析

    Python计算斗牛游戏概率算法实例分析

    这篇文章主要介绍了Python计算斗牛游戏概率算法,简单介绍了斗牛游戏的原理并结合具体实例形式分析了相关的游戏概率算法,需要的朋友可以参考下
    2017-09-09
  • Python属性和内建属性实例解析

    Python属性和内建属性实例解析

    这篇文章主要介绍了Python属性和内建属性实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 浅谈windows环境下pytorch安装踩坑

    浅谈windows环境下pytorch安装踩坑

    本文主要介绍了在Windows环境下使用Anaconda创建Python环境并安装Pytorch的过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • Qt6中重大改变的QtMultimedia多媒体模块实现

    Qt6中重大改变的QtMultimedia多媒体模块实现

    本文主要介绍了Qt6中重大改变的QtMultimedia多媒体模块实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09

最新评论