LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1374|回复: 1

请问:如何写提取网页中某表格中的数据的正则表达式?

[复制链接]
发表于 2004-8-25 21:50:01 | 显示全部楼层 |阅读模式
网页的表格源码像如下:
............
<tr>
<td ....>111111</td>
<td ....>222222</td>
.....
<td ....>999999</td>
</tr>
<tr>
<td ....>111111</td>
<td ....>222222</td>
.....
</tr>
.
.
.
<tr>
<td ....>212323</td>
<td ....>324343</td>
.
.
.
<td ....>213ldfd</td>
</tr>
我该如何写提取<td ...></td>之间的数据,并且一对<tr>...</tr>之间的数据为一组,我尝试用这样的正则表达式:/<tr>\s*<td.*>(.*)<\/td>\s*<td.*>(.*)<\/td><\/>/g.结果却是只有最后一对<tr></tr>之间的数据被提取出来了,不知为何?这些<tr></tr>已被我保存到一标量中.请高手指教!谢谢!!
发表于 2004-8-29 13:23:21 | 显示全部楼层

提供一个解决思路

从文件当中读取的时候,设定一个@results的Array来存储我们找到的数据.
每次grep到<tr>,就$i++.
然后就去提取<td>...</td>里面的数据,找到一个就push @{$results[$i]} 查找到的数据.

这样所有的数据就都到了@results里面了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表