re.search方法

Posted dyytsoft

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了re.search方法相关的知识,希望对你有一定的参考价值。

re.search 扫描整个字符串并返回第一个成功的匹配。

函数语法:

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

函数参数说明:

参数描述
pattern 匹配的正则表达式
string 要匹配的字符串。
flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。参见:正则表达式修饰符 - 可选标志

匹配成功re.search方法返回一个匹配的对象,否则返回None。

我们可以使用group(num) 或  groups() 匹配对象函数来获取匹配表达式。

匹配对象方法描述
group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。
groups() 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。

实例

#!/usr/bin/python3 import re print(re.search(www, www.runoob.com).span())  # 在起始位置匹配 print(re.search(com, www.runoob.com).span())         # 不在起始位置匹配

以上实例运行输出结果为:

(0, 3)
(11, 14)

实例

#!/usr/bin/python3 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

以上是关于re.search方法的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式中pattern.match(),re.match(),pattern.search(),re.search()方法的使用和区别

Re 模块

re正则表达式方法

re.match re.search re.findall区别

在 re.search 中重用已编译的正则表达式

python正则表达式--search方法