Python中的match函数

此函数尝试将RE模式与带有可选标志的字符串匹配。

语法

这是此函数的语法-

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

这是参数的描述-

序号参数及说明
1pattern
这是要匹配的正则表达式。
2string
这是字符串,将对其进行搜索以匹配字符串开头的模式。
3标志
您可以使用按位或(|)指定不同的标志。这些是修饰符,在下表中列出。

re.match函数成功返回匹配对象,失败则返回None。我们使用group(num)或match对象的groups()函数来获取匹配的表达式。

序号匹配对象的方法和说明
1group(num = 0)
此方法返回整个匹配项(或特定的子组num)
2groups()
此方法返回一个元组中所有匹配的子组(如果没有,则为空)

示例

#!/usr/bin/python
import re
line = "Cats are smarter than dogs"
matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)
if matchObj:
   print "matchObj.group() : ", matchObj.group()
   print "matchObj.group(1) : ", matchObj.group(1)
   print "matchObj.group(2) : ", matchObj.group(2)
else:
   print "No match!!"

输出结果

执行以上代码后,将产生以下结果-

matchObj.group() : Cats are smarter than dogs
matchObj.group(1) : Cats
matchObj.group(2) : smarter