Python的re模块re.fullmatch.string函数的作用
re.fullmatch.string
是re模块中的函数之一,它可以用来匹配一个输入的字符串,判断其是否符合指定的正则表达式。与其他匹配函数相比,它是一种严格匹配方式,只有在整个字符串与正则表达式完全匹配时才能返回匹配结果。
使用方法
re.fullmatch.string
函数可以接受以下两个参数:
pattern
:要匹配的正则表达式;string
:要匹配的字符串。
它的函数原型如下:
re.fullmatch(pattern, string, flags=0)
其中,pattern
参数与其他re模块的函数使用方式相同;string
参数表示输入的字符串。
当匹配成功时,re.fullmatch()
函数会返回一个MatchObject
对象,该对象包含匹配的信息,例如匹配的字符串,匹配位置等。
在使用re.fullmatch.string()
函数时应该注意以下几点:
- 正则表达式中不要包含^和$,因为它们在函数内部已经隐含;
- 如果指定了flags参数,请务必在调用函数中使用,否则可能会导致意料之外的结果;
- 当匹配失败时,函数会返回
None
。
下面是具体的使用方法:
import re
# 示例1:匹配整个字符串
p1 = re.compile(r'\w{4}\d{4}') # 4个字母+4个数字
str1 = 'abcd1234'
match1 = re.fullmatch(p1, str1)
if match1:
print(f'匹配成功:{match1.group()}') # 输出abcd1234
else:
print('未匹配成功')
# 示例2:匹配失败的情况
p2 = re.compile(r'\d{3}-\d{2}-\d{4}') # 美国的社会安全号
str2 = '123-45-6789'
match2 = re.fullmatch(p2, str2)
if match2:
print(f'匹配成功:{match2.group()}')
else:
print('未匹配成功') # 输出未匹配成功
在示例1中,我们使用re.compile()
函数构建了一个匹配4个字母+4个数字的正则表达式,并用它来匹配了字符串abcd1234。因为该字符串符合正则表达式的要求,所以匹配成功,最终输出匹配结果。
示例2中则是使用了一个用于匹配美国社会安全号的正则表达式,但是输入的字符串显然不符合要求,所以匹配失败,最终输出未匹配成功。
通过以上两个示例可以看出,re.fullmatch.string()
函数可用于严格匹配指定的正则表达式和字符串,用于确认输入的字符串是否符合要求。