我想要使用正則表達式來獲取鏈接文本。有可能有幾個鏈接可能符合這種模式,我想直到第四個才能獲得最遠的鏈接。這裏是我的JS代碼:Javascript正則表達式 - exec無限循環
var level=1;
while (_match = /<a href="http:\/\/www.mysite.com\/x\/(?:.*)>(.*)<\/a>/img.exec(_html)){
if (level < 5) (_anchor_text=_match[1]);
level ++;
}
的問題是,這個代碼進入IE上的無限循環(行之有效的FF),雖然模式存在。任何幫助表示讚賞。
此代碼實際使用工作長達FF3.6,因爲同一個RegExp對象已在每次迭代中重用(符合ES3)。但是隨後ES3被ES5取代,它改變了RegExp字面值的處理方式:「正則表達式字面值現在每次評估字面值時都會返回一個唯一對象。」在你的情況下,有效地渲染`g`標誌是無用的。 http://es5.github.com/#E再一次,IE瀏覽器超過了它的時間。 – Robert 2013-03-26 00:57:41