使用正则表达式从原始文本解析特定div?

时间:2015-08-02 05:40:35

标签: regex

所以我在需要将原始HTML数据解析为字符串的情况下,遗憾的是这是不可避免的,否则我不会发布这个。我只需要正则表达式来匹配具有img标记作为孩子的div的类。

所以这是我正在处理的代码示例:

<div class="summary">
 <h3>Example</h3>
 <div class="explanation">
  <span>This serves as an example for the site.</span>
 </div>
 <div class="user-details">
  <a href="/users/garret1001">mheathershaw</a><br>
  <img src="res/badge522.png"/>&nbsp;<span class="score">522</span>
 </div>
 <div class="help">
  <a href="/help.html" class="label">Help</a>
 </div>
</div>

我想从中检索类的div是包含图像的div。我最喜欢(最佳)这个例子的确切捕获是user-details。捕获它的标准就是它是否有<img ... />作为孩子。

任何人都可以提供帮助吗?谢谢!

1 个答案:

答案 0 :(得分:0)

你可以试试这个,

/<div\b[^>]*\bclass="([^"]*)"[^>]*>(?:(?!<\/div>)[\s\S])*?<img\b[^>]*>(?:(?!<\/div>)[\s\S])*?<\/div>/

DEMO