2015-12-12 38 views
-1

我要隔離在此明文第二個數字(不是HTML代碼,只是一個例子):正則表達式:隔離int值

Showing <span id="results_end">10</span> of <span id="results_total">55</span> items</div> 

所以我的正則表達式的表達應該給回數只有55。

這是我對我自己得到的最接近:

/l">(.*)</span>/g 

然而,這仍然還給整個l">61</span>的一部分,這是太適合我的需要。

任何由正則表達式大師的幫助將受到歡迎!

+2

請顯示您的實際JavaScript代碼。 – Xufox

回答

1
var match = /l">(.*)<\/span>/.exec(myString); 
alert(match[1]); 
0

如果您只想捕獲數字,請使用(\d+)而不是(.*)模式的捕獲組。

1

正則表達式並不意味着解析HTML,雖然在一個非常簡單的情況下,比如這個它可以工作。更好的方法是使用原生JS功能:

var inputString = 'Showing <span id="results_end">10</span> of <span id="results_total">55</span> items'; 

var el = document.createElement('html'); 
el.innerHTML = inputString; 

var num = parseInt(el.getElementById('results_total').innertext); 
+0

非常感謝intel,這確實是一種更優雅的方式! –