本文主要是介绍正则表达式match和findall的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在python中match和findall两个方法都可用于寻找字符串中匹配的字符串。其中match方法根据正则模式,从源字符的第一个字符开始匹配,如果寻找到了相应匹配模式,则返回相应结果,例如:
import re
s='abcd';
p = re.compile('abcd');
m = p.match(s);
print m.group();
这时程序会输出:abcd
如果把源程序修改为:
import re
s='abcd';
p = re.compile('bcd');
m = p.match(s);
print m.group();
就不能匹配上相应字符串,由此可以看出match匹配时是从源字符串的第一个字符开始,如果匹配上了,就返回匹配结果,否则不能匹配到相应结果。
对于findall方法,并不是从源字符串第一个字符开始匹配的,而是从第一个匹配上的字符开始,返回所有的可以匹配上的字符,例如:
import re
s='abcd';
p = re.compile('bcd');
m = p.findall(s);
print m;
返回的结果是:['bcd'],主要findall返回的是一个list对象。
这篇关于正则表达式match和findall的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!