python3正则-单匹配函数
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'>
"""