Python正则匹配多行,多个数据

最近用Python做一个crawler工具的时候,发现用一个正则表达式可以匹配到个数据的时候用match.group()只能打印出第一个数据,其它数据不能打印出来。最后找到解决方法,现在记录一下,直接贴代码:

P = re.compile(r'<a(s)href="/android/info/([0-9]*).html?fw=([0-9]*)"', re.M)
                        match = p.findall(txt)
                        if match:
                                print match

在初始化正则的时候一定要加上参数re.M这个参数的意思是去匹配多行,如果没有加re.M的话程序匹配到第一个结果后就会结束。这就是之前为啥一直只能打印一个数据的原因了。而且必须要用P.findall()这个方法。

之前的代码如下:

p = re.compile(r'<a(s)href="/android/info/([0-9]*).html?fw=([0-9]*)"')
                        match = info.search(txt)
                        if match:
                                print match.group()

原文地址:https://www.cnblogs.com/ansonz/p/3449493.html