此函数使用可选标志搜索字符串中RE模式的首次出现。
这是此函数的语法-
re.search(pattern, string, flags=0)
这是参数的描述-
序号 | 参数及说明 |
---|---|
1 | pattern 这是要匹配的正则表达式。 |
2 | string 这是字符串,将对其进行搜索以匹配字符串开头的模式。 |
3 | 标志 您可以使用按位或(|)指定不同的标志。这些是修饰符,在下表中列出。 |
re.search函数返回匹配成功的对象,没有失败。我们使用match对象的group(num)或groups()函数来获取匹配的表达式。
序号 | 匹配对象的方法和说明 |
---|---|
1 | group(num = 0) 此方法返回整个匹配项(或特定的子组num) |
2 | groups() 此方法返回一个元组中所有匹配的子组(如果没有,则为空) |
#!/usr/bin/python import re line = "Cats are smarter than dogs"; searchObj = re.search( r'(.*) are (.*?) .*', line, re.M|re.I) if searchObj: print "searchObj.group() : ", searchObj.group() print "searchObj.group(1) : ", searchObj.group(1) print "searchObj.group(2) : ", searchObj.group(2) else: print "Nothing found!!"
输出结果
执行以上代码后,将产生以下结果-
searchObj.group() : Cats are smarter than dogs searchObj.group(1) : Cats searchObj.group(2) : smarter