如何使用RegEx Asp.net C#抓取BODY html标签内的所有内容(来自字符串)

时间:2010-02-18 12:40:34

标签: c# asp.net regex

{是的,上面或多或少解释了它}:)

Regex oRegex = new Regex("<body.*?>(.*?)</body>", RegexOptions.Multiline);

如果身体中有任何属性,上述似乎不起作用。

3 个答案:

答案 0 :(得分:9)

使用HTML Agility Pack(假设它是html,而不是xhtml):

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
string body = doc.DocumentNode.SelectSingleNode("/html/body").InnerHtml;

答案 1 :(得分:4)

不要使用正则表达式。使用旨在解析XML / HTML的东西:

XmlDocument.SelectSingleNode("//body").InnerXml;

将字符串加载到XmlDocument,使用SelectSingleNode函数(以XPath表达式作为参数),然后从生成的XmlNode中提取所需内容

答案 2 :(得分:0)

我最终使用RegexOptions.Singleline而非使用RegexOptions.Multiline

解决了这个问题