python3正则-单匹配函数

发布时间 2023-04-15 12:31:25作者: 挖洞404

1、介绍
re模块是python3用于处理正则的模块。

这里介绍三个函数,re.match、re.fullmatch和re.search的使用。
其都是如果匹配,则返回re.Match类对象,为初次匹配项。不匹配则返回None。
且()不影响匹配结果,只是匹配过程中对需要匹配的描述。

2、match函数

match(pattern, string, flags=0)
  • pattern,正则表达式
  • string,待处理字符串
  • flags,标志,处理模式
  • 作用是在flags代表的模式下,匹配strings指向的字符串是否存在以pattern指向的规则作为开始
  • 如果存在匹配,返回类型为re.Match。如果不存在匹配,则返回None

示例:

import re
# match函数

# 是否加前缀^不影响
# pattern = "^abc"
pattern = "abc"
result = re.match(pattern=pattern, string="abcdef")
print(result)
"""
<re.Match object; span=(0, 3), match='abc'>
"""
print(type(result))
"""
<class 're.Match'>
"""

3、fullmatch函数

fullmatch(pattern, string, flags=0)
  • pattern,正则表达式
  • string,待处理字符串
  • flags,标志,处理模式
  • 作用是在flags代表的模式下,匹配strings指向的字符串是否存在与以pattern指向的规则整体完全匹配
  • 如果存在匹配,返回类型为re.Match。如果不存在匹配,则返回None

示例:

import re


# 是否加前后缀不影响
# pattern = "^.*$"
pattern = ".*"
result = re.fullmatch(pattern=pattern, string="abcdef")
print(result)
"""
<re.Match object; span=(0, 6), match='abcdef'>
"""
print(type(result))
"""
<class 're.Match'>
"""

4、search函数

search(pattern, string, flags=0)
  • pattern,正则表达式
  • string,待处理字符串
  • flags,标志,处理模式
  • 作用是在flags代表的模式下,匹配strings指向的字符串是否存在pattern指向的规则作为子字符串,不要求开始和结尾
  • 如果存在匹配,返回第一个匹配项,返回类型为re.Match。如果不存在匹配,则返回None

示例:

pattern = "bcd"
result = re.search(pattern=pattern, string="abcdef")
print(result)
"""
<re.Match object; span=(1, 4), match='bcd'>
"""
print(type(result))
"""
<class 're.Match'>
"""