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()