Python中的搜索功能

此函数使用可选标志搜索字符串中RE模式的首次出现。

语法

这是此函数的语法-

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

这是参数的描述-

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

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

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

示例

#!/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