详解Python re.fullmatch.DOTALL函数:启用 “.” 匹配任何字符模式

re.fullmatch()

re.fullmatch() 函数用于在一个字符串的开头和结尾匹配整个字符串,如果有匹配返回一个匹配对象,否则返回None。

语法:

re.fullmatch(pattern, string, flags=0)

参数解释:

  • pattern: 正则表达式字符串
  • string: 要匹配的字符串
  • flags: 正则表达式的修饰符,用来控制匹配模式

返回值:

函数返回一个匹配对象,如果不匹配返回None。

注意事项:

  • re.fullmatch() 的 pattern 要求全匹配,即要求字符串开头和结尾都匹配整个正则表达式。
  • 如果正则表达式有分组,返回的是最外层分组匹配到的结果。

    示例

    它从字符串开头和结尾匹配一个字符串,查找的是数字串

import re
s = "123"
match = re.fullmatch(r'\d+', s)
if match:
    print(match.group())
else:
    print("匹配失败")

输出结果为:

123

匹配一个字符串是否是合法的日期时间格式

import re
s = "2019-01-01 12:00:00"
pattern = r'^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$'
match = re.fullmatch(pattern, s)
if match:
    print("合法的日期时间格式")
else:
    print("不是合法的日期时间格式")

输出结果为:

合法的日期时间格式

re.fullmatch()函数的re.DOTALL修饰符

re.DOTALL修饰符用来让 . 匹配包括换行符在内的任意字符,默认情况下 . 匹配除换行符外的任意字符。re.fullmatch() 函数也支持 re.DOTALL 修饰符。

语法:

re.fullmatch(pattern, string, flags=0)

参数解释:

  • pattern: 正则表达式字符串
  • string: 要匹配的字符串
  • flags: 正则表达式的修饰符,用来控制匹配模式

返回值:

函数返回一个匹配对象,如果不匹配返回None。

注意事项:

  • re.fullmatch() 的 pattern 要求全匹配,即要求字符串开头和结尾都匹配整个正则表达式。
  • 如果正则表达式有分组,返回的是最外层分组匹配到的结果。

示例

用 re.DOTALL 修饰符来匹配一个字符串中包含换行符的文本

import re
s = "hello\nworld"
pattern = r'^hello.*world$'
match = re.fullmatch(pattern, s, flags=re.DOTALL)
if match:
    print("匹配成功")
else:
    print("匹配失败")

注意,这里的正则表达式中使用 .*,表示匹配任意字符(包括换行符)任意次数。输出结果为:

匹配成功

用 re.DOTALL 修饰符来匹配一个 HTML 标签中的文本

import re
s = "<div>hello\nworld</div>"
pattern = r'<div>(.*?)</div>'
match = re.fullmatch(pattern, s, flags=re.DOTALL)
if match:
    text = match.group(1)
    print(text)
else:
    print("匹配失败")

输出结果为:

hello
world

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python re.fullmatch.DOTALL函数:启用 “.” 匹配任何字符模式 - Python技术站

(0)
上一篇 2023年3月23日
下一篇 2023年3月23日

相关文章

  • 详解Python re.finditer.re函数:返回匹配的正则表达式对象

    re 模块简介 re 模块是 Python 标准库中的正则表达式模块。正则表达式是一种特殊的字符串处理方式,常用于匹配文本中的特定模式。re 模块可以提供针对正则表达式的支持。 re.finditer() 函数 re.finditer(pattern, string, flags=0) 函数功能:扫描整个字符串,并返回对每个匹配项的迭代器。每个匹配项都由一个…

    re模块 2023年3月23日
    00
  • 详解Python re.search.string函数:返回搜索的字符串

    Python re模块re.search.string函数攻略 在使用Python开发中,经常涉及到字符串的处理。使用正则表达式可以方便地对字符串进行匹配、查找、替换等操作。Python中提供了re模块来实现正则表达式的相关功能。re模块中的re.search.string函数是其中的一个重要函数,下面将详细介绍它的作用和使用方法。 作用 re.search…

    re模块 2023年3月31日
    00
  • 详解Python re.finditer.groupdict函数:返回所有有命名的匹配的字典

    Python re 模块 Python的re模块是专门用于处理正则表达式的模块,re模块提供了对正则表达式进行匹配和替换的支持,通过学习和使用re模块,可以有效地处理一些基于模式匹配的问题。 re.finditer() 函数 re.finditer()是re模块中提供的一个函数,它的作用是在字符串中查找与正则表达式匹配的所有子串,并以迭代器的形式返回。 re…

    re模块 2023年3月30日
    00
  • 详解Python re.search.lastgroup函数:返回最后匹配的命名组名

    Python re 模块re.search.lastgroup函数的作用与使用方法 re.search.lastgroup函数是Python中re模块中的一个成员方法,用于返回上次匹配的组名。 语法 re.search.lastgroup() 参数说明 该函数无需传入任何参数,直接调用即可。 返回值 返回上次匹配的组名,如果没有则返回None。 使用方法举例…

    re模块 2023年3月31日
    00
  • 详解Python re.fullmatch.LOCALE函数:启用区域设置模式

    作用 Python标准库 re 模块提供了许多正则表达式相关的工具函数,其中 fullmatch 函数可以用于判断一个字符串是否与指定的正则表达式完全匹配。而 re.fullmatch.LOCALE 函数与 fullmatch 用法相同,但是其默认使用的匹配规则是根据当前设置的区域设置(locale)来进行的。 re.fullmatch.LOCALE 函数在…

    re模块 2023年3月23日
    00
  • 详解Python re.search.VERBOSE函数:启用详细模式

    Python re模块re.search.VERBOSE函数简介 Python中的re模块是提供正则表达式操作的标准库之一。re.search()函数是其中的一个函数,用于在字符串中查找匹配正则表达式的结果。 re.search.VERBOSE函数是re.search()函数的一个可选参数。本篇攻略将会详细介绍这个函数的作用和使用方法,后面还会提供至少两个实…

    re模块 2023年3月30日
    00
  • 详解Python re.finditer.DEBUG函数:启用调试模式

    Python的re模块re.finditer.DEBUG函数的作用与使用方法 作用 re.finditer.DEBUG函数的作用是启动调试模式,可以输出更加详细的信息来帮助我们进行正则表达式的匹配调试。 使用方法 re.finditer.DEBUG函数使用方法如下: re.finditer(pattern, string, flags = 0, pos = …

    re模块 2023年3月30日
    00
  • 详解Python re.finditer.pos函数:返回搜索的开始位置

    Python re 模块re.finditer.pos 函数完整攻略 1. re.finditer.pos 函数的作用 re.finditer.pos() 函数是 Python 标准库 re 模块提供的一个方法。它可以在字符串中迭代查找正则表达式模式,用于在匹配时指定起始点位置。 2. 使用方法 re.finditer.pos() 函数的语法格式如下: re…

    re模块 2023年3月30日
    00
合作推广
合作推广
分享本页
返回顶部