python3爬虫之入门基础和正则表达式(3)

匹配的整个表达式的字符串,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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjpfpd.html