日期:2014-05-18  浏览次数:20776 次

谁能帮帮我,高难度的正则表达式。
下面是一个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>