返回顶部
首页 > 资讯 > 后端开发 > Python >Python正则表达式中flags参数的实例详解
  • 814
分享到

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

2024-04-02 19:04:59 814人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录flags参数忽略大小写多行模式匹配任何字符补充:正则表达式中的flags总结flags参数 re.I    IGNORECASE   

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参数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python正则表达式中flags参数的实例详解

本文链接: https://lsjlt.com/news/144727.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python正则表达式中flags参数的实例详解
    目录flags参数忽略大小写多行模式匹配任何字符补充:正则表达式中的flags总结flags参数 re.I    IGNORECASE    ...
    99+
    2024-04-02
  • Python中正则表达式详解
    基础篇 正则表达式在python中运用的非常多,因为他可以进行任意的匹配,可以匹配我们想要提取的信息。当我们接触正则的时候你就会知道正则的强大。正则有一个库re 在一些工程中我们会经常调用正则的库来做与匹配...
    99+
    2022-06-04
    详解 正则表达式 Python
  • Oracle 正则表达式实例详解
    Oracle 正则表达式实例详解 FORM开发中的按行拆分需求:拆分后的行要有规律,并按前后层次排序   需求分析如下:      现有行: 2 ...
    99+
    2024-04-02
  • jmeter正则表达式实例详解
    过年前产假归来,jmeter很多知识生疏了,这两天打开jmeter摸索了几下,老了记不住,还是准备弄个jmeter系列随笔吧。 言归正传,使用jmeter时经常有这样的情况:一个完整...
    99+
    2024-04-02
  • Python 正则表达式详解
    目录1.正则表达式是什么2.1用正则表达式2.2匹配原理2.3常用函数总结1.正则表达式是什么 很简单就是一种字符串匹配,eg: 比如你在注册账户时我们需要对用户的用户名判断是否合法...
    99+
    2024-04-02
  • Python中使用正则表达式及正则表达式匹配规则详解
    目录1 导库2 使用模板3 说明4 示例5 正则表达式匹配规则1 导库 import re 2 使用模板 re_pattern = re.compile(pattern, flags...
    99+
    2023-03-22
    Python正则表达式匹配规则 Python正则表达式
  • python正则表达式最详解
    目录一、正则表达式–元字符1.数量词2.字符匹配3.边界匹配4.组5.匹配模式参数二、方法re.findallre.matchgroup匹配对象re.searchre.compile...
    99+
    2024-04-02
  • python正则表达式re.sub各个参数的超详细讲解
    目录一、re.sub(pattern, repl, string, count=0, flags=0)二、参数讲解1、pattern参数2、repl参数2.1、repl是字符串2.2...
    99+
    2024-04-02
  • Python正则表达式实例分析
    这篇“Python正则表达式实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python正则表达式实例分析”文章吧。一...
    99+
    2023-06-29
  • Python正则表达式的应用详解
    目录正则表达式的定义Python对正则表达式的支持示例例1:验证输入的用户名是否有效,用户名由长度为6到20的字母、数字、下划线组成例2:从字符串中找到与正则表达式匹配的部分例3:从...
    99+
    2024-04-02
  • python中正则表达式findall的用法实例
    正则口径:知道前后取中间,如果最后$结束 python中则这表达式的方法通常由re.match re.search re.findall re.findall匹配的时候,会...
    99+
    2024-04-02
  • Python中的正则表达式
    正则表达式 是包含文本和特殊字符的字符串, 为高级的文本模式匹配, 抽取, 与文本形式的搜索和替换功能提供了基础 Python通过标准库re模块来支持正则表达式 模式匹配的两种方法完成匹配(模式匹配) 搜索(search())...
    99+
    2023-01-31
    正则表达式 Python
  • Java正则表达式之Pattern类实例详解
    目录前言Pattern 概述Pattern 匹配模式(Pattern flags)代码示例多行模式:Pattern.MULTILINE 示例忽略大小写:Pattern.CASE_IN...
    99+
    2024-04-02
  • Python3的正则表达式详解
    目录1.简介2.切分字符串3.分组4.贪婪匹配5.编译总结1.简介 # 正则表达式:用来匹配字符串的武器; # 设计思想:用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符...
    99+
    2024-04-02
  • Java中正则表达式匹配过程实例详解
    目录下面是Java正则表达式的语法字符:正则表达式简单的匹配过程:(1) 基础匹配过程(2)贪婪模式(3)非贪婪模式 (4)零宽度匹配过程总结正则表达式:定义字符串的模式,...
    99+
    2024-04-02
  • Ruby正则表达式详解
    目录Ruby 正则表达式语法实例正则表达式修饰符正则表达式模式 正则表达式实例字符 字符类 特殊字符类 重复 非贪婪重复 ...
    99+
    2023-05-15
    Ruby 正则表达式 Ruby 正则表达式详解 Ruby 正则表达式实例
  • JavaScript 正则表达式详解
    目录1. 正则表达式创建2. 使用模式2.1 使用简单模式2.2 使用特殊字符3. 应用3.1 切分字符串3.2 分组3.3 贪婪匹配3.4 正则表达式标志3.5 test() 方法...
    99+
    2024-04-02
  • Java 正则表达式详解
    正则表达式(Regular Expression),又称为正规表达式、规则表达式、常规表示法等,是一种用来匹配、查找和替换字符串的工...
    99+
    2023-08-16
    Java
  • Python案例|Pandas正则表达式
    字符串的处理在数据清洗中占比很大。也就是说,很多不规则的数据处理都是在对字符串进行处理。Excel提供了拆分、提取、查找和替换等对字符串处理的技术。在Pandas中同样提供了这些功能,并且在Pandas中还有正则表达式技术的加持,让其字符...
    99+
    2023-09-02
    python 开发语言 正则表达式 数据清洗 Pandas 原力计划
  • 超详细讲解python正则表达式
    目录正则表达式1.1 正则表达式字符串1.1.1 元字符1.1.2 字符转义1.1.3 开始与结束字符1.2 字符类1.2.1 定义字符类1.2.2 字符串取反1.2.3 区间1.2...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作