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
相关问题