上面的示例改一下
<font color=black>aaabbbccc
</font><br>
<font color=black>
dddgggeeeff
</font><br>
<font color=black>
ggghhhiii
</font><br>
<font color=black>lllmmmnn
</font><br>

解决方案 »

  1.   

    <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 getline(str)
    {
    var pattern = new RegExp("^.*" + str + ".*$", "gm");
    var aryResult = document.getElementById("txt").innerHTML.match(pattern);
    var rs = "";

    if (aryResult.length)
    {
    for (var i=0; i<aryResult.length; i++)
    {
    rs += aryResult[i] + "\n";
    }

    }else
    {
    rs = "Nothing be found";
    } document.getElementById("result").innerText = rs;
    }
    //-->
    </script>
    </head><body>
    <xmp id=txt>
    <font color=black>aaabbbccc
    </font><br>
    <font color=black>
    <b>dddgggeeeff</b>
    </font><br>
    <font color=black>
    ggghhhiii
    </font><br>
    <font color=black>lllmmmnn
    </font><br>
    </xmp>
    <br>
    <button onclick="getline('ggg')">Get Line</button>
    <br>
    <xmp id=result>
    </xmp>
    </body>
    </html>
      

  2.   

    if (aryResult.length) ==> if (aryResult)
      

  3.   

    try
      var s= ".........";
      var re = /<font[^>]+>[^<]*ggg[^<]*<\/font>/gi;
      var a;
      while ((a=re.exec(s)) != null)
    alert(a);
      

  4.   

    谢谢两位的回答,不过还是不太符合我说的那种,记得原来我也在这问过类似的问题,就是不包含某个字符串的正则表达式怎么写,最后用(?!)解决的。不过在这里用不上,我希望要是能也就是要使能写成下面的正则就好了
    <font color=black>(不包含<font color=black>)ggg(.|\n)*?</font><br>
    好像是没这种语法吧……