2012-12-08 35 views
-1

我需要从这个网页本文抓取数据: http://www.chess.com/home/game_archive?sortby=&show=echess&member=deckers1066的JavaScript/Greasemonkey的比赛(),正则表达式

我似乎无法得到它的工作使用。

var text = document.body; 

var results = text.match(/id=[0-9]*>/g); 

我需要抓住的是这个样子

/echess /游戏所有出现?ID = 60942234

我更感兴趣的ID号

+0

我觉得'document.body.toString(); //“[object HTMLBodyElement]”会成为第一次发现错误的洞察,http://stackoverflow.com/a/1732454/444991应该是第二个。 – Matt

回答

1

您已经你的代码有两个问题;一个是你要搜索的字符串是document.body.innerHTML,另一个是RegExp正在寻找元素的结束标记,>之前没有引号。试试这个

var results = document.body.innerHTML.match(/id=\d+/g); 

注意我完全中省略结束标签,因为这正则表达式是贪婪的,这意味着你不必担心HTML解析。

0

请不要对此使用正则表达式。您应该使用适当的DOM解析器(几乎每种语言都有很多可用的解析器),然后使用该解析器选择ID。

如果你坚持使用正则表达式(我会推荐),Paul S的答案是最好的。

+0

如果OP询问任何特定元素(即查看'