+ -
当前位置:首页 → 问答吧 → 求一条正则表达式

求一条正则表达式

时间:2011-12-21

来源:互联网

<div id="0">0</div>
<div id="1">1
  <p>aaaaa</p>
  <div id="2">2</div>
</div>

<div id="3">
<div class="test">xxx</div>
</div>
 

//=============================

上面的字符串要求 匹配最外层DIV标签,并且DIV标签内只能包含有DIV标签。如果包含有其他标签则不匹配。

 

最终匹配成功的结果应为:div id为0与3的标签。 也就是红色部分的是要匹配的。

 

  需要用到平衡组,我弄了一个上午了,还是写不出来。麻烦各位了。

作者: hao33892   发布时间: 2011-12-21

无限难。。 就算能写出来,还是不会符合你的要求 第四行也会被匹配到<div id="2">2</div>

作者: wubeichuan1   发布时间: 2011-12-21

<div[^>]*>(?><div[^>]*>(?<Open>)(?<Mask>)|</div>(?<-Open>)|(?:(?!</?div\b).)*)*(?(Open)(?!))(?(Mask)|(?!))</div>

上面这条表达式它是 匹配 DIV标签内至少要嵌套一个标签,在网上找的,可以参考下。
  我不知道如何改成DIV标签内只有允许有DIV标签。

作者: hao33892   发布时间: 2011-12-21

相关阅读 更多

热门下载

更多