200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > python---正则表达式(re.match与re.search的区别)

python---正则表达式(re.match与re.search的区别)

时间:2023-07-16 19:38:43

相关推荐

python---正则表达式(re.match与re.search的区别)

文章目录

前言一、re.match正则匹配二、re.search正则匹配三、re.match与re.search区别

前言

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配,可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式

一、re.match正则匹配

语法:

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

函数参数说明:

pattern 匹配的正则表达式

string 要匹配的字符串

flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等

import rename = "hi panpan "matchObj = re.match( 'panpan', name, re.M|re.I)if matchObj:print ("match --> : ", matchObj.group())else:print ("No match!!!")

二、re.search正则匹配

语法:

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

函数参数说明:

pattern 匹配的正则表达式

string 要匹配的字符串

flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等

import rename = "hi panpan "matchObj = re.search('panpan', name, re.M|re.I)if matchObj:print ("search --> : ", matchObj.group())else:print ("No match!!!")

三、re.match与re.search区别

import rename = "hi panpan "matchObj = re.match( 'panpan', name, re.M|re.I)if matchObj:print ("match --> : ", matchObj.group())else:print ("No match!!!")matchObj = re.search('panpan', name, re.M|re.I)if matchObj:print ("search --> : ", matchObj.group())else:print ("No match!!!")

返回结果:

No match!!search --> : panpan

解析:

使用re.match时,要匹配的字符串panpan不是第一个,所以返回None 不匹配

使用re.search时,要匹配的字符串panpan在name里,所以可以进行匹配,只需要在这个字符串中,不管位置在哪都会找出来

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。