网页抽取正则问题
时间:2010-12-17
来源:互联网
my $html = "<table><tr><td>aa</td><td>bb</td></tr></table>标记1<table><tr><td>cc</td><td>dd</td></tr></table>标记2<table><tr><td>ee</td><td>ff</td></tr></table>";
我有这样一段网页代码,我想得到“标记1”后的td对,即:<td>cc</td><td>dd</td>,并装入数组@td,相当于
@td = ("<td>cc</td>","<td>dd</td>");
我以前都是分两次走,显然很啰嗦:
复制代码
有没有办法一步做到?
复制代码
尝试这样写,但只得到"<td>dd</td>"。
请精通正则的高手指教。
我有这样一段网页代码,我想得到“标记1”后的td对,即:<td>cc</td><td>dd</td>,并装入数组@td,相当于
@td = ("<td>cc</td>","<td>dd</td>");
我以前都是分两次走,显然很啰嗦:
- #!/usr/bin/perl
-
- use strict;
- use warnings;
-
- my $html = "<table><tr><td>aa</td><td>bb</td></tr></table>标记1<table><tr><td>cc</td><td>dd</td></tr></table>标记2<table><tr><td>ee</td><td>ff</td></tr></table>";
- my ($need) = ($html =~ /标记1(.*?)标记2/i);
- my (@td) = ($need =~ /(<td>.*?<\/td>)/ig);
- print "@td";
- #!/usr/bin/perl
-
- use strict;
- use warnings;
-
- my $html = "<table><tr><td>aa</td><td>bb</td></tr></table>标记1<table><tr><td>cc</td><td>dd</td></tr></table>标记2<table><tr><td>ee</td><td>ff</td></tr></table>";
- my @td = ($html =~ /.*?标记1.*?(<td>.*?<\/td>)+/i);
- print "@td";
请精通正则的高手指教。
作者: iamlimeng 发布时间: 2010-12-17
那为何不用HTML::TreeBuilder 呢?一定要正则?
作者: x9x9 发布时间: 2010-12-17
本帖最后由 x9x9 于 2010-12-17 23:09 编辑
一定要两个标记之间的,如果用正则的话估计谁都得两步走吧?
一定要两个标记之间的,如果用正则的话估计谁都得两步走吧?
作者: x9x9 发布时间: 2010-12-17
我已习惯了用正则,有空试试HTML::TreeBuilder 。
我这里只是举个例子,有些时候,数据不是网页,也有类似情况。
我这里只是举个例子,有些时候,数据不是网页,也有类似情况。
作者: iamlimeng 发布时间: 2010-12-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28