首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

Python里面search和match的区别

发布网友 发布时间:2022-04-26 00:14

我来回答

4个回答

热心网友 时间:2022-05-10 07:43

match()函数只检测RE是不是在string的开始位置匹配,

search()会扫描整个string查找匹配;

也就是说match()只有在0位置匹配成功的话才有返回,

如果不是开始位置匹配成功的话,match()就返回none。


例如:

print(re.match('super', 'superstition').span())   会返回(0, 5)

而print(re.match('super', 'insuperable'))   则返回None

search()会扫描整个字符串并返回第一个成功的匹配

例如:print(re.search('super', 'superstition').span())返回(0, 5)

print(re.search('super', 'insuperable').span())返回(2, 7)

其中span函数定义如下,返回位置信息。

span([group]):
     
返回(start(group), end(group))。


效果如下图:

热心网友 时间:2022-05-10 09:01

match和search都是测试正则表达式与字符串是否匹配,不同的是,match要求字符串的第一个字符就能匹配上正则表达示,而search则不同,如果字符串开头不能匹配,即会继续往后匹配,直接匹配成功或者到字符串结束。

热心网友 时间:2022-05-10 10:36

这是正则表达式里面的函数:

match()函数只检测RE是不是在string的开始位置匹配,search()会扫描整个string查找匹配;

也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none。

例如:

print(re.match('super', 'superstition').span())   会返回(0, 5)

而print(re.match('super', 'insuperable'))   则返回None

search()会扫描整个字符串并返回第一个成功的匹配:

例如:print(re.search('super', 'superstition').span())返回(0, 5)

print(re.search('super', 'insuperable').span())返回(2, 7)

其中span函数定义如下,返回位置信息:

span([group]): 

返回(start(group), end(group))。

热心网友 时间:2022-05-10 12:27

Match是从字符串的起始位置开始匹配,如果匹配成功的话,就返回第一个对象;
Search工作方式与match比较相似,只要search从字符串的任意位置开始匹配,并返回第一个匹配的对象。
Match()函数只检测RE是不是在string的开始位置匹配,search()会扫描整个string查找匹配;换句话来讲,match()只有在0位置匹配成功的话才会返回,如果不是开始位置匹配成功的话,match()就返回none,这就是它们之间的区别。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com