Dar*_*ryl 13
这样的事怎么样?
它将<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;
}
Run Code Online (Sandbox Code Playgroud)
And*_*are 10
不要使用正则表达式 - 使用类似Html Agility Pack的东西.
这是一个敏捷的HTML解析器,它构建一个读/写DOM并支持普通的XPATH或XSLT(你实际上不需要理解XPATH或XSLT来使用它,不用担心......).它是一个.NET代码库,允许您解析"out of the web"HTML文件.解析器非常容忍"真实世界"格式错误的HTML.对象模型与提出System.Xml非常相似,但对于HTML文档(或流).
然后你可以body用XPATH 提取.