找回密码
 加入
搜索
查看: 3442|回复: 6

正则匹配网页所有td标签中的内容

[复制链接]
发表于 2009-11-9 21:20:41 | 显示全部楼层 |阅读模式
本帖最后由 78391493 于 2009-11-10 11:28 编辑

类似<td>grgbeg</td><td>gerhrhethg</td><td>hethgerh</td>

我要匹配出
grgbeg
gerhrhethg
hethgerh

标签数量不定 正则表达式怎么写?
发表于 2009-11-9 22:02:45 | 显示全部楼层
<td[^>]*>([^<]+)<\/td>
或者
<td[^>]*>[^<]+<\/td>
难的就不会了哈。
发表于 2009-11-9 22:05:10 | 显示全部楼层
#include <Array.au3>
$str = '<td>grgbeg</td><td>gerhrhethg</td><td>hethgerh</td>'
$ok = StringRegExp($str, '<td>([^/]*)</td>', 3)
If @error = 0 Then _ArrayDisplay($ok, '')
发表于 2009-11-9 22:05:14 | 显示全部楼层
上面的写法兼容所有模式,如果是非贪婪模式,可以这么写
<td.*>(.+)</td>
 楼主| 发表于 2009-11-10 09:00:29 | 显示全部楼层
StringRegExp(StringReplace($html, @LF, ""), '<tr.*?class=\"SongItem BottomBorder\".*?>([^/]*)<\/tr>', 3)
为什么这样写取不到Google音乐榜单?
http://www.google.cn/music/chart ... pings=chinese_music
发表于 2009-11-10 10:43:06 | 显示全部楼层
'<TD.*\"Title BottomBorder\">.*>([^/]+)</A>'
试下
 楼主| 发表于 2009-11-10 11:27:33 | 显示全部楼层
<tr.+?SongItem BottomBorder.+?>(.+?)</tr>
搞定了~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-18 13:35 , Processed in 0.081221 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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