<table><td id="_$abc_XXXXXX1_ct"></td></table>
<table><td id="_$abc_AAAAAA2_ct"></td></table>
<table><td id="_$abc_BBBBBB3_ct"></td></table>
用Replace把所有的<table><td id="代换为空字符。
再用Split以"></td></table>做为分隔符分隔数组。得出来的数组就是id名了。
<table><td id="_$abc_AAAAAA2_ct"></td></table>
<table><td id="_$abc_BBBBBB3_ct"></td></table>
用Replace把所有的<table><td id="代换为空字符。
再用Split以"></td></table>做为分隔符分隔数组。得出来的数组就是id名了。
var cc=/<td id=\"([^\"]*?)\">/gi
var s=aa.match(cc)for(var i= 0;i<s.length;i++)
{
alert(s[i].replace(cc,"$1"))
}
str += "<table><td id=\"_$abc_AAAAAA2_ct\"></td></table>";
str += "<table><td id=\"_$abc_BBBBBB3_ct\"></td></table>";
var re = /<td[^>]*?id\s*=\s*["']?([^"'>]*)[^>]*>/ig;
while(re.exec(str))
{
alert(RegExp.$1);
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language="javascript">
function cccc()
{
var aa=document.body.innerHTML;//'<table><tbody id="_$portlet_XXXXXX1_ct"></td></table><table><tbody id="_$abc_AAAAAA2_ct"></td></table><table><tbody id="_$portlet_BBBBBB3_ct"></td></table><table tbody id="cccc">'
alert(aa);
var cc=/<tbody id=\"([^\"]*?)\"/gi
var s=aa.match(cc)
for(var i= 0;i<s.length;i++)
{
alert(s[i].replace(cc,"$1"))
}
}
</script>
</HEAD> <BODY>
<div class=mod id="_$portlet_E2D2EBD160314625A155CFF1A2C69FCB" rel="drag" align="center">
<span style="MARGIN-TOP:0px; BACKGROUND:#fff; WIDTH:100%; CURSOR:auto; HEIGHT:130px">
<table id="tab_1" cellSpacing="0" cellPadding="0" border="0" width="100%" style="TABLE-LAYOUT:fixed">
<tbody>
<tr>
<td background="../Common/images/midTitleBak2.gif" height="24">
<table border="0" cellpadding="0" cellspacing="0" id="_$portlet_E2D2EBD160314625A155CFF1A2C69FCB_title" width="100%" height="24">
<tr>
<td width="3%"></td>
</tr>
</table>
</td>
</tr>
<tbody id="_$portlet_E2D2EBD160314625A155CFF1A2C69FCB_ct" style="display:none">
<tr valign="top">
<td bgcolor="#ffffff" valign="top" height="130" align="left"><div class="tabSubContent">
<table width="100%" border="0" cellspacing="0" cellpadding="2" style="TABLE-LAYOUT:fixed;FONT-SIZE:9pt" >
<tr>
<td height="1"></td>
</tr>
<tr>
<td height="5"></td>
</tr>
</table>
</div>
</td>
</tr>
</tbody>
<tbody id="_$portlet_E2D2EBD160314625A155CFF1A2C69FGG_ct" style="display:none">
<tr valign="top">
<td bgcolor="#ffffff" valign="top" height="130" align="left"><div class="tabSubContent">
<table width="100%" border="0" cellspacing="0" cellpadding="2" style="TABLE-LAYOUT:fixed;FONT-SIZE:9pt" >
<tr>
<td height="1"></td>
</tr>
<tr>
<td height="5"></td>
</tr>
</table>
</div>
</td>
</tr>
</tbody>
<tbody id="_$portlet_E2D2EBD160314625A155CFF1A2C69FCF_ct" style="display:none">
<tr valign="top">
<td bgcolor="#ffffff" valign="top" height="130" align="left"><div class="tabSubContent">
<table width="100%" border="0" cellspacing="0" cellpadding="2" style="TABLE-LAYOUT:fixed;FONT-SIZE:9pt" >
<tr>
<td height="1"></td>
</tr>
<tr>
<td height="5"></td>
</tr>
</table>
</div>
</td>
</tr>
</tbody>
<tr>
<td background="../Common/images/midDown.gif" height="20"></td>
</tr>
</table>
</span>
</div>
<input type="button" value="ok" onclick="cccc()">
</BODY>
</HTML>
以上的程序中
我想得到:<tbody id="_$portlet_xxxxxxxx_ct"
<tbody id="_$portlet_bbbbbbbb_ct"
以上格式的id,不知道为什么不能匹配到....
我想得到:<tbody id="_$portlet_xxxxxxxx_ct"
<tbody id="_$portlet_bbbbbbbb_ct"
以上格式的id,不知道为什么不能匹配到....
var str = document.documentElement.innerHTML;
var re = /<(?:tbody)[^>]*?id\s*=\s*["']?([^"'>]*?)\s[^>]*>/ig;
while(re.exec(str))
{
alert(RegExp.$1);
}
</script>
var str = document.documentElement.innerHTML;
var re = /<(?:tbody|table|td)[^>]*?id\s*=\s*["']?([^"'\s>]*)[^>]*>/ig;//(?:tbody|table|td)可以多写几个标签
while(re.exec(str))
{
alert(RegExp.$1);
}
</script>
另外他的匹配不到是因为他的表达式没有判断属性有没有被 双引号 单引号 或 空包围 只是笼统的判断是否被 双引号包围