<div id=xxx>xxxxxxxxxxxxxxxx关键词一xxxxxxxxxxxxxxxx</div>
<div id=xxx>xxxxxxxxxxxxxxxx关键词二xxxxxxxxxxxxxxxx</div>
<div id=xxx>xxxxxxxxxxxxxxxx关键词三xxxxxxxxxxxxxxxx</div>
<div id=xxx>xxxxxxxxxxxxxxxx关键词四xxxxxxxxxxxxxxxx</div>
假设有以上这些,如何根据“关键词三”匹配<div id=xxx>xxxxxxxxxxxxxxxx关键词三xxxxxxxxxxxxxxxx</div>呢?
div里的id未知,只能根据关键词来匹配,而且必须匹配唯一。我写了这样的:
/<div[^>]*>.*?关键词三.*?<\/div>/U
但是匹配却是从第一个div开始,匹配成了
<div id=xxx>xxxxxxxxxxxxxxxx关键词一xxxxxxxxxxxxxxxx</div>
<div id=xxx>xxxxxxxxxxxxxxxx关键词二xxxxxxxxxxxxxxxx</div>
<div id=xxx>xxxxxxxxxxxxxxxx关键词三xxxxxxxxxxxxxxxx</div>如何让其从第三个div开始呢?使用[^(div)]也没效果~~

解决方案 »

  1.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>http://topic.csdn.net/u/20090505/17/fb826681-3b42-4bf0-8a98-55d9beb0a5a6.html</title>
    <script type="text/javascript" src="../lib/jquery-1.2.6.js"></script>
    </head>
    <body>
        <div id="xxx">xxxxxxxxxxxxxxxx关键词一xxxxxxxxxxxxxxxx </div>
        <div id="yyy">xxxxxxxxxxxxxxxx关键词二xxxxxxxxxxxxxxxx </div>
        <div id="zzz">xxxxxxxxxxxxxxxx关键词三xxxxxxxxxxxxxxxx </div>
        <div id="sss">xxxxxxxxxxxxxxxx关键词四xxxxxxxxxxxxxxxx </div>
        <script type="text/javascript">
            jQuery("div:contains('关键词三')").css("text-decoration", "underline");
        </script>
    </body>
    </html>
      

  2.   


    var pattern = /<div[^>]+>[^<]*关键词三[^<]*<\/div>/i;
      

  3.   

    <!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 type="text/javascript">
    var str = 'div id=\"xxx\">xxxxxxxxxxxxxxxx关键词一xxxxxxxxxxxxxxxx </div> ' +
       '<div id=\"yyy\">xxxxxxxxxxxxxxxx关键词二xxxxxxxxxxxxxxxx </div> '+
       '<div id=\"zzz\">xxxxxxxxxxxxxxxx关键词三xxxxxxxxxxxxxxxx </div>' +
        '<div id=\"sss\">xxxxxxxxxxxxxxxx关键词四xxxxxxxxxxxxxxxx </div>';
    var div_reg = /<div[^>]+>[^<]+关键词三[^<]+<\/div>/i;
    alert(str.match(div_reg));
      </script>
     </HEAD> <BODY>
      
     </BODY>
    </HTML>