如何使用正则表达式获取innerhtml

时间:2013-07-04 03:59:09

标签: java regex

如何使用正则表达式使用嵌套标签获取innerhtml

示例:

<div class="def">
<ul>
<li>..</li>
<li>..</li>
</ul>
</div>

<div class="def">
<ul>
<li>..</li>
<li>..</li>
</ul>
</div>

我只需要此代码的第一个div内容 "(?s)(<div\\sclass=\"def\">(.+)<\\/div>)" 当我使用这个代码时,我得到了div内容

如何单独购买第一个?

请帮忙......

1 个答案:

答案 0 :(得分:7)

这是因为你的正则表达式中.+ ...更改为.+?

但你应该从不使用REGEX解析html ..

使用HTML PARSER以及get div

的方法

为什么要使用解析器?

考虑你的正则表达式。有无数种情况你可以破解你的代码

  • 如果嵌套 div
  • ,您的正则表达式无法正常工作
  • 有些div没有结束标记!(XHTML除外)

总结以前从来没有用过正则表达式来解析html