此函数尝试将RE模式与带有可选标志的字符串匹配。
这是此函数的语法-
re.match(pattern, string, flags=0)
这是参数的描述-
序号 | 参数及说明 |
---|---|
1 | pattern 这是要匹配的正则表达式。 |
2 | string 这是字符串,将对其进行搜索以匹配字符串开头的模式。 |
3 | 标志 您可以使用按位或(|)指定不同的标志。这些是修饰符,在下表中列出。 |
re.match函数成功返回匹配对象,失败则返回None。我们使用group(num)或match对象的groups()
函数来获取匹配的表达式。
序号 | 匹配对象的方法和说明 |
---|---|
1 | group(num = 0) 此方法返回整个匹配项(或特定的子组num) |
2 | groups() 此方法返回一个元组中所有匹配的子组(如果没有,则为空) |
#!/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