考慮到html和body標籤可能是大寫,小寫或可能不存在,我將如何使用正則表達式從html文檔中提取正文, ?正則表達式提取HTML正文
回答
不要對此使用正則表達式 - 使用類似Html Agility Pack的東西。
這是一個靈活的HTML解析器 建立一個讀/寫DOM,並支持 平原XPath或XSLT(你實際上 不必須瞭解XPATH也不 XSLT使用它,不要擔心。 ..)。它是 一個.NET代碼庫,它允許您將 解析爲「超出網頁」的HTML文件。解析器對「真實 世界」格式不正確的HTML非常寬容。對象 模型非常類似於建議 System.Xml,但對於HTML文檔(或 流)。
然後你可以用XPATH提取body
。
我同意。我已經使用過它,必須說它快速,整潔,乾淨。 – 2009-06-11 17:46:45
這應該讓你很接近:
(?is)<body(?:\s[^>]*)>(.*?)(?:</\s*body\s*>|</\s*html\s*>|$)
請提供詳細的解決方案。 – ShaileshDev 2017-03-14 13:34:59
怎麼這樣呢?
它將<body></body>
標記(由於RegexOptions.IgnoreCase
而不區分大小寫)之間的所有內容捕獲到名爲theBody
的組中。
RegexOptions.Singleline
允許我們將多行HTML處理爲單個字符串。
如果HTML不包含<body></body>
標記,則匹配的Success
屬性將爲false。
string html;
// Populate the html string here
RegexOptions options = RegexOptions.IgnoreCase | RegexOptions.Singleline;
Regex regx = new Regex("<body>(?<theBody>.*)</body>", options);
Match match = regx.Match(html);
if (match.Success) {
string theBody = match.Groups["theBody"].Value;
}
+1清潔整潔的解決方案 – 2011-05-18 17:33:29
- 1. 正則表達式HTML提取C#
- 2. PHP正則表達式HTML - 提取URL
- 3. 正則表達式來提取HTML值
- 4. PHP正則表達式提取html值
- 5. 正則表達式提取
- 6. 正則表達式提取
- 7. 在Stata中提取正則表達式(正則表達式)
- 8. 正則表達式中提取文本
- 9. 用正則表達式文本提取
- 10. Mysql文本提取正則表達式
- 11. 用正則表達式提取文本「,」
- 12. 正則表達式提取文件名
- 13. 文本提取的正則表達式
- 14. 提取文本的正則表達式
- 15. 正則表達式提及HTML內容
- 16. 需要正確的正則表達式JMeter的正則表達式提取
- 17. 正則表達式提取HTML標記之間的文本
- 18. 正則表達式匹配HTML標籤和提取文本
- 19. 正則表達式從HTML文本中提取錨標籤Flex
- 20. 用正則表達式提取HTML替代文字?
- 21. HTML的正則表達式
- 22. HTML正則表達式
- 23. 正則表達式php html
- 24. 正則表達式在HTML
- 25. 正則表達式HTML
- 26. 正則表達式從HTML
- 27. 正則表達式(正則表達式)
- 28. 正則表達式(正則表達式)
- 29. 正則表達式(正則表達式)
- 30. 正則表達式在PHP,HTML採取
http://stackoverflow.com/questions/356340/regular-expression-to-extract-html-body-content的重複? – M4N 2009-06-11 17:35:20