匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。
groups()
返回一个包含所有小组字符串的元组,从 1 到所含的小组号。
演示如下:
#re.match. import re print(re.match("rlovep","rlovep.com"))##匹配rlovep print(re.match("rlovep","rlovep.com").span())##从开头匹配rlovep print(re.match("com","http://rlovep.com"))##不再起始位置不能匹配成功 ##输出: <_sre.SRE_Match object; span=(0, 6), match='rlovep'> (0, 6) None
实例二:使用group
import re line = "This is my blog" #匹配含有is的字符串 matchObj = re.match( r'(.*) is (.*?) .*', line, re.M|re.I) #使用了组输出:当group不带参数是将整个匹配成功的输出 #当带参数为1时匹配的是最外层左边包括的第一个括号,一次类推; 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() : This is my blog matchObj.group(1) : This matchObj.group(2) : my
3.re.search方法
re.search 扫描整个字符串并返回第一个成功的匹配。
函数语法:
re.search(pattern, string, flags=0)
函数参数说明:
参数 描述 pattern 匹配的正则表达式 string 要匹配的字符串。 flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。
匹配对象方法 描述 group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。 groups() 返回一个包含所有小组字符串的元组,从 1 到所含的小组号。
实例一:
import re print(re.search("rlovep","rlovep.com").span()) print(re.search("com","http://rlovep.com").span()) #输出: import re print(re.search("rlovep","rlovep.com").span()) print(re.search("com","http://rlovep.com").span())
实例二:
import re line = "This is my blog" #匹配含有is的字符串 matchObj = re.search( r'(.*) is (.*?) .*', line, re.M|re.I) #使用了组输出:当group不带参数是将整个匹配成功的输出 #当带参数为1时匹配的是最外层左边包括的第一个括号,一次类推; 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() : This is my blog matchObj.group(1) : This matchObj.group(2) : my