下面是一个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>

解决方案 »

  1.   

    正则可以这样写,分别为$!、$2、$3的内容,对javascript的语法不太熟,如何存数组,楼主可以自己写下方法,或是我再试下<tr[^>]*>\s*<td[^>]*>(?!评论人)([\s\S]*?)<\/td>\s*<td[^>]*>([\s\S]*?)<\/td>\s*<td[^>]*>([\s\S]*?)<\/td>
      

  2.   

    倒塌,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>