正则表达式找到div标签

时间:2010-08-05 22:26:28

标签: regex

我需要一个正则表达式,它会在html网页中找到一个开始div标签或一个结束div标签,或两者都找到。谢谢:))

5 个答案:

答案 0 :(得分:3)

为了安全起见:

</? *div[^>]*>

答案 1 :(得分:1)

你可以从:

开始
</?div>

这将无法正确处理:

  • 空白
  • div上的
  • 属性
  • 自动关闭div标签
  • 大写标签
  • 标签内应该忽略的HTML评论
  • 等...

为了正确处理HTML,最好使用HTML解析器而不是正则表达式。

答案 2 :(得分:1)

如果您可以使用xpath,那么//div请使用支持它而不是正则表达式的XML解析器。如果你必须使用正则表达式,请使用coding_hero的答案。

仅供展示,在PHP中:

//$htmldoc is some xhtml document from somewhere
$xhtml = simplexml_load_file($htmldoc);
$divs = $xhtml->xpath('//div'); //grab simpleXMLElement from all divs in document
return $divs->asXML(); //returns xml of div elements and children

答案 3 :(得分:0)

HTML, XHTML, and XML can not be parsed using regular expressions。有针对此类事物设计的解析器。如果您指定了您正在使用的语言,我确信有人可以为该作业建议正确的工具,但我知道正则表达式不会出现在该列表中。

答案 4 :(得分:0)

要查找开始和结束div标签,我会使用

</?\bdiv\b[^>]*>