Python3正则表达式re.search函数
re.search⽅法
re.search 扫描整个字符串并返回第⼀个成功的匹配。
函数语法:
re.search(pattern, string, flags=0)
函数参数说明:
参数描述
pattern匹配的正则表达式
string要匹配的字符串。
flags标志位,⽤于控制正则表达式的匹配⽅式,如:是否区分⼤⼩写,多⾏匹配等等。
匹配成功re.search⽅法返回⼀个匹配的对象,否则返回None。
python正则表达式不包含我们可以使⽤group(num) 或 groups() 匹配对象函数来获取匹配表达式。
匹配对象⽅法描述
group(num=0)匹配的整个表达式的字符串,group() 可以⼀次输⼊多个组号,在这种情况下它将返回⼀个包含那些组所对应值的元组。groups()返回⼀个包含所有⼩组字符串的元组,从 1 到 所含的⼩组号。
例⼦:
import re
print(re.search('www', 'www.runoob').span()) # 在起始位置匹配
print(re.search('com', 'www.runoob').span()) # 不在起始位置匹配
(0, 3)
(11, 14)
例⼦2:
import re
line = "Cats are smarter than dogs";
searchObj = re.search( r'(.*) are (.*?) .*',line,re.M|re.I)
if searchObj:
print("up() :",up())
print("up(1):",up(1))
print("up(2):",up(2))
else:
print("Nothing found!!")
输出:
re.match与re.search的区别
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;⽽re.search匹配整个字符串,直到到⼀个匹配。
import re
line = "Cats are smarter than dogs";
matchObj = re.match(r'dogs',line,re.M|re.I)
if matchObj:
print("match --> up():", up())
else:
print("NO match!!")
matchObj = re.search(r'dogs' ,line, re.M|re.I)
if matchObj:
print("search --> up():" ,up())
else:
print("NO match!!")
输出:
NO match!!
search --> up(): dogs
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论