Python正则匹配多行,多个数据
2013-11-29 14:17
501 查看
最近用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()
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()
相关文章推荐
- python 调用系统命令的两种方法
- wxPython实现指定单元格可编辑的ListCtrl
- The Zen of Python
- python (paramiko模块) 利用id_rsa登陆远程的服务器
- Python中操作myslq的方法
- python+django+mysql配置步骤
- IP地址与整形转换 java,python实现
- python
- python的egg包的安装和制作]
- python之shutil模块
- Windows下 Python 安装包的配置
- Python ConfigParser
- python 调用函数时使用星号 *, **
- python tab 补全
- python字典,列表,元组
- python计算程序开始到程序结束的运行时间和程序运行的CPU时间
- Python时间戳与时间字符串互相转换实例代码
- python 使用 tweepy 案例: PS4
- 一个简单的python程序实例(通讯录)
- python多线程破解zip文件