0

我需要关于正则表达式的帮助,我正在通过 ajax 读取包含以下代码的外部 URL:

<body>
originalAdvertiserLink='http://normaldomain.com/7cc86d4999/'<div id='beacon_d14503cb95' style='position: absolute; left: 0px; top: 0px; visibility: hidden;'><img src='http://URL.com/www/delivery/lg.php?bannerid=451&amp;campaignid=91&amp;zoneid=19&amp;loc=1&amp;cb=d14503cb95' width='0' height='0' alt='' style='width: 0px; height: 0px;' /></div>
</body>

我需要在 originalAdvertiserLink='' 中提取 URL,我已经使用此代码执行了该操作:

var e = /originalAdvertiserLink=\'([^\']*)/.exec(data);
openxOriginalLink = e[1];

但我还需要提取所有的 div 标签,我的意思是这部分:

<div id='beacon_d14503cb95' style='position: absolute; left: 0px; top: 0px; visibility: hidden;'><img src='http://URL.com/delivery/lg.php?bannerid=451&amp;campaignid=91&amp;zoneid=19&amp;loc=1&amp;cb=d14503cb95' width='0' height='0' alt='' style='width: 0px; height: 0px;' /></div>

我如何编写一个正则表达式来只提取那部分,就像我对上面的 URL 所做的那样?

非常感谢

4

1 回答 1

0

类似于(如果您不想改变当前的做事方式 - 评论不推荐):

var body = "<body>originalAdvertiserLink='http://normaldomain.com/7cc86d4999/'<div id='beacon_d14503cb95' style='position: absolute; left: 0px; top: 0px; visibility: hidden;'><img src='http://URL.com/www/delivery/lg.php?bannerid=451&amp;campaignid=91&amp;zoneid=19&amp;loc=1&amp;cb=d14503cb95' width='0' height='0' alt='' style='width: 0px; height: 0px;' /></div></body>";

var regex = /<div(.*?)div>/ig;
var match = regex.exec(body); 

if(match.length > 0)
{
    match =  match[0]; 
    alert(match);
}

JSFiddle:http: //jsfiddle.net/56dKY/

于 2013-06-05T19:08:16.330 回答