我需要一個正則表達式,它會在HTML網頁中找到一個開放的div標籤或一個閉合的div標籤,或者兩者都有。謝謝:)正則表達式來尋找div標籤
回答
你可以這樣開始:
</?div>
這不會正確處理:
- 空白的DIV
- 屬性
- 自閉div標籤
- 大寫標籤
- 標籤小號HTML註釋裏面應該忽略
- 等...
要正確處理HTML,你最好使用HTML解析器,而不是正則表達式。
爲安全起見:
</? *div[^>]*>
我不會將其描述爲「安全」。 – 2010-08-05 23:39:52
HTML, XHTML, and XML can not be parsed using regular expressions。有爲這種類型的事情設計的解析器。如果你指定了你正在使用的語言,我肯定有人可以爲這個工作建議正確的工具,但是我知道一個事實,那就是正則表達式不在這個列表中。
他/她說他/她想要查找標籤,但不一定要解析內容。 – NullUserException 2010-08-05 23:30:09
無論你想要做什麼 - 我見過的大多數解析器都允許你對像count標籤這樣的東西進行操作。但是,在處理HTML時,正則表達式從來就不是正確的答案。 – 2010-08-06 00:58:32
如果你可以使用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
我相信XPath需要XML內容。 HTML不符合XML的所有規則。 – 2010-08-06 00:58:54
同意,但這就是爲什麼我以「如果它必須是正則表達式,使用編碼_hero的」開頭。我還指定它基於一個xhtml文檔。 SimpleXML也完全兼容PHP中的DOM。 – Tim 2010-08-06 04:05:18
要找到打開和關閉div標籤,我會用
</?\bdiv\b[^>]*>
- 1. 正則表達式來尋找標籤ID和內容JavaScript
- 2. 尋找正則表達式
- 3. 尋找正則表達式
- 4. 尋找正則表達式
- 5. 正則表達式去除Div標籤
- 6. 正則表達式PHP - 查找<div></div>標籤
- 7. 在標籤中尋找字符串的正則表達式
- 8. 正則表達式尋找井號標籤
- 9. 正則表達式尋找<character>標籤
- 10. 正則表達式查找標籤(preg_replace_callback)
- 11. 正則表達式查找標籤
- 12. 正則表達式來結合標籤
- 13. 正則表達式來強調標籤
- 14. Javascript正則表達式尋找模式
- 15. 尋找正則表達式,unicode模式
- 16. 正則表達式#標籤
- 17. 正則表達式,標籤
- 18. php - 正則表達式來匹配div標籤
- 19. 正則表達式尋找失蹤ConfigureAwait
- 20. 用正則表達式尋找答案
- 21. 尋找「$ {sometext}」的正則表達式
- 22. 正則表達式尋找單詞
- 23. 正則表達式尋找$ 0.00
- 24. 尋找URL的正則表達式
- 25. 在PHP中尋找正則表達式
- 26. 尋找正則表達式#match_all
- 27. 正則表達式尋找價格
- 28. PHP正則表達式 - 尋找除字
- 29. 尋找正則表達式前後數
- 30. 尋找一個正則表達式
使用HTML解析器。 – 2010-08-05 22:30:25
你在用什麼語言? – 2010-08-05 22:33:43
哦,不,不是。 - 。http://tinyurl.com/yzep3mp – Cumbayah 2010-08-05 22:39:30