78391493 发表于 2009-11-9 21:20:41

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

本帖最后由 78391493 于 2009-11-10 11:28 编辑

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

我要匹配出
grgbeg
gerhrhethg
hethgerh

标签数量不定 正则表达式怎么写?

lpxx 发表于 2009-11-9 22:02:45

<td[^>]*>([^<]+)<\/td>或者<td[^>]*>[^<]+<\/td>难的就不会了哈。

afan 发表于 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, '')

lpxx 发表于 2009-11-9 22:05:14

上面的写法兼容所有模式,如果是非贪婪模式,可以这么写<td.*>(.+)</td>

78391493 发表于 2009-11-10 09:00:29

StringRegExp(StringReplace($html, @LF, ""), '<tr.*?class=\"SongItem BottomBorder\".*?>([^/]*)<\/tr>', 3)
为什么这样写取不到Google音乐榜单?
http://www.google.cn/music/chartlisting?q=chinese_songs_cn&cat=song&grouping=chinese_music&expanded_groupings=chinese_music

afan 发表于 2009-11-10 10:43:06

'<TD.*\"Title BottomBorder\">.*>([^/]+)</A>'
试下

78391493 发表于 2009-11-10 11:27:33

<tr.+?SongItem BottomBorder.+?>(.+?)</tr>
搞定了~
页: [1]
查看完整版本: 正则匹配网页所有td标签中的内容