8
我需要配合一個javascript正則表達式的字符串之間的Javascript正則表達式匹配文本<a href="/game.php?village=828&screen=info_player&id=29956" >bimbo999</a>
<a>標籤
從URL瓦爾的數字(村和id)正在改變每一次,所以我必須以某種方式與RegExp匹配數字。
</tr>
<tr><td>Sent</td><td >Oct 22, 2011 17:00:31</td></tr>
<tr>
<td colspan="2" valign="top" height="160" style="border: solid 1px black; padding: 4px;">
<table width="100%">
<tr><th width="60">Supported player:</th><th>
<a href="/game.php?village=828&screen=info_player&id=29956" >bimbo999</a></th></tr>
<tr><td>Village:</td><td><a href="/game.php?village=828&screen=info_village&id=848" >bimbo999s village (515|520) K55</a></td></tr>
<tr><td>Origin of the troops:</td><td><a href="/game.php?village=828&screen=info_village&id=828" >KaLa I (514|520) K55</a></td></tr>
</table><br />
<h4>Units:</h4>
<table class="vis">
我試着用這樣的:
var match = h.match(/Supported player:</th>(.*)<\/a><\/th></i);
,但不工作。你們能幫我嗎?
你爲什麼直接操縱HTML?通過DOM工作更安全(通常更容易)。在表格中找到合適的'
使用正則表達式遍歷html標籤並不是很好的做法。你有沒有嘗試從標記中獲取DOM元素並獲取innerHTML? – Jerry
回答
試試這個:
<a[^>]*>
([\s\S]*?)
匹配任何字符相匹配的開放a
標籤的結束標記前,儘可能少<\/a>
匹配的結束標記([\s\S]*?)
將從標記exec
或match
返回的數組中的變量之間的文本捕獲爲參數1。這是真的只爲發現內
a
元素文字好,這不是令人難以置信的安全或可靠的,但如果你有一個鏈接頁面大,你只需要他們的文字,這將做到這一點。一個更安全的方式來做到這一點沒有正則表達式是:
來源
2011-10-23 06:41:19 zzzzBov
'/ ] *>((?:。| \ r?\ n)*?)<\/a> /'也可以方便地在多行上匹配下一個結束標籤。 – par
它可以匹配多行,已經匹配任何空格字符[\ r \ n \ t \ f]' –
我沒有用正則表達式的經驗,但我認爲你可以使用jQuery與
.text()
!JQuery API - .text()
我的意思是,如果你使用:
你會得到你的文字,而無需使用正則表達式!
.find("a")
,然後給你的列表的的標籤對象,然後用.each()
來循環,列表上,則可以使用.text()
獲取文本。或者你可以使用類選擇器,ID或任何你想要的!
來源
2011-10-23 06:47:28
這也可以使用'getElementsByTagName('a')'用普通的javascript來完成。不是一個壞主意。 – zzzzBov
作爲一個方面的說明,它不是一個好主意,使用正則表達式來解析HTML :) – Ryan
相關問題