现有字符串:<div>abc<div>just,test</div></div>我想得到 "<div>just,test</div>"  是以test为标识:
我写的正则"<div>[\s\S]*?test<\/div>"    但取得的结果总是不对,
请帮我调试一下,谢谢!

解决方案 »

  1.   

    终于想出来了一个 :<div>((?!<div>).)*test<\/div>
      

  2.   

    <table width="80%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td>&nbsp;sdsd</td>
      </tr>
    </table>
    <table width="80%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td>test</td>
      </tr>
    </table>
    但是这上面的table用同样的方法却获取不到啊?
      

  3.   

    很简单啊!
    家里停电停水!没办法跑到阔别N年的网吧!
    给你写段好了$str = "xxxxxxxxxxxxxxxxxxxxxx";//你需要处理的文件内容preg_match("/(<[^<]+test[^<]*<[^>]+>)/",$str,$match);
    print_r($match);
    本代码未经测试~~不过基本上应该没多大问题!
      

  4.   

    <table[\s\S]+?test[\S\s]+<\/table>   我想问一下:正则有几个模式:如全局模式,从左到右,多行模式,单行模式,扩展模式,这些有什么不同?
      

  5.   

    <div>((?!<div)[\s\S])*?test<\/div>