谁能帮帮我,高难度的正则表达式。
下面是一个HTML的代码,我想在代码里面利用javascript正则表达式取出来评论人、评论内容、评论时间分别放到数组arrname,arrtext,arrtime里面,请问该如何操作?
<body>
<span id= "cmt ">
document.write( " <table width= '100% '> <tr> <td> 评论人 </td> <td> 评论内容 </td> <td> 评论时间 </td> <td> 打分 </td> </tr> <tr bgcolor=\ "white\ "> <td align=\ "center\ " width=\ "80\ "> 【网友】 </td> <td> 赞成! <BR> 赞成小狼的观点。 </td> <td align=\ "center\ " width=\ "120\ "> 2007-8-18 11:49:54 </td> <td align=\ "center\ " width=\ "40\ "> 0分 </td> </tr> <tr bgcolor=\ "white\ "> <td align=\ "center\ " width=\ "80\ "> 【小狼】 </td> <td> 我想网通宽带包月费降低是关键。 </td> <td align=\ "center\ " width=\ "120\ "> 2007-8-18 9:58:07 </td> <td align=\ "center\ " width=\ "40\ "> 3分 </td> </tr> </table> <div align=\ "center\ "> <a href=\ "/Article/Comment.asp?ArticleID=84&Action=ShowAll\ "> 查看评论详细内容及更多评论 </a> </div> ");
</span>
<script language= "javascript ">
var comment = document.all( 'cmt ').innerHTML; //这里取出span内的代码
//下面该如何实现呢?
//var rename = new RegExp( "正则表达式 ", "gi ");
//arrname= comment.match(rename);
//这样视乎可以,不过我怎么也不能调试通过,谢谢各位了
</script>
</body>
------解决方案--------------------倒塌,javascript找不到我想要的方法,只能用下面这种方式实现了
<body>
<span id= "cmt ">
document.write( " <table width= '100% '> <tr> <td> 评论人 </td> <td> 评论内容 </td> <td> 评论时间 </td> <td> 打分 </td> </tr> <tr bgcolor=\ "white\ "> <td align=\ "center\ " width=\ "80\ "> 【网友】 </td> <td> 赞成! <BR> 赞成小狼的观点。 </td> <td align=\ "center\ " width=\ "120\ "> 2007-8-18 11:49:54 </td> <td align=\ "center\ " width=\ "40\ "> 0分 </td> </tr> <tr bgcolor=\ "white\ "> <td align=\ "center\ " width=\ "80\ "> 【小狼】 </td> <td> 我想网通宽带包月费降低是关键。 </td> <td align=\ "center\ " width=\ "120\ "> 2007-8-18 9:58:07 </td> <td align=\ "center\ " width=\ "40\ "> 3分 </td> </tr> </table> <div align=\ "center\ "> <a href=\ "/Article/Comment.asp?ArticleID=84&Action=ShowAll\ "> 查看评论详细内容及更多评论 </a> </div> ");
</span>
<script language= "javascript ">
var comment = document.all( 'cmt ').innerHTML; //这里取出span内的代码
var tr=document.getElementsByTagName( "tr ");
for(var i=0;i <tr.length;i++)
{
//alert(tr[i].innerHTML)
var re = /^\s* <td[^> ]*> (?!评论人)([\s\S]*?) <\/td> \s* <td[^> ]*> ([\s\S]*?) <\/td> \s* <td[^> ]*> ([\s\S]*?) <\/td> /ig;
if(re.test(tr[i].innerHTML))
{
alert(RegExp.$1);
alert(RegExp.$2);
alert(RegExp.$3);
}
}
</script>
</body>