Python进阶之路 高级编程-正则表达式 使用match方法匹配字符串

正则表达式 使用match方法匹配字符串

匹配字符串是正则表达式中最常用的一类应用。也就是设定一个文本模式,然后判断另外一个字符串是否符合这个文本模式。本节会从最简单的文本模式开始。

如果文本模式只是一个普通的字符串,那么待匹配的字符串和文本模式字符串在完全相等的情况下,match方法会认为匹配成功。

match方法用于指定文本模式和待匹配的字符串。该方法的前两个参数必须指定,第1个参数表示文本模式,第2个参数表示待匹配的字符串。如果匹配成功,则match方法返回SRE_Match对象,然后可以调用该对象中的group方法获取匹配成功的字符串,如果文本模式就是一个普通的字符串,那么group方法返回的就是文本模式字符串本身。

m = re.match('bird','bird') # 第1个bird是文本模式字符串,第2个bird是待匹配的字符串
print(m.group()) # 输出结果:bird

[例 11.1] 本例完整的演示了如何利用match方法和group方法完成字符串的模式匹配,并输出匹配结果的过程。

import re   # 导入re模块
m = re.match('hello','hello')   # 进行文本模式匹配,匹配成功
if m is not None:
    print(m.group())    # 输出
print(m.__class__.__name__) # 输出m的类名

m = re.match('hello','world')   # 进行文本模式匹配,匹配失败,m为None
if m is not None:
    print(m.group())
print(m)    # 输出

m = re.match('hello','hello world') # 只要模式从字符串起始位置开始,也可以匹配成功
if m is not None:
    print(m.group())    # 输出
print(m)

输出结果:

hello
Match
None
hello

从上面的代码可以看出,进行文本模式匹配时,只要待匹配的字符串开始部分可以匹配文本模式,就算匹配成功。对于本例来说,可以理解为文本模式字符串是待匹配字符串的前缀(hello是hello world的前缀),所以可以匹配成功。

你可能感兴趣的:(Python,Python进阶之路,Python,高级编程-正则表达式,使用match方法匹配字符串,教程)