我如何获得价值,例如
<div class="detail"> Hello </div>
<div class="detail"> World </div>
string x = " <div class="results-list clearfix">
<div class="detail"> Hello
</div>
</div>
<div class="results-list clearfix">
<div class="detail"> World
</div>
</div>
";
String pattern = @"<div class=""results-list clearfix"">(?<Content>[^<]*)</div>";
Regex rx = new Regex(pattern,RegexOptions.Multiline);
Match m = rx.Match(x);
while (m.Success)
{
string zz = m.Groups["Content"].Value;
m = m.NextMatch();
}
答案 0 :(得分:1)
我认为这是你的问题""results-list clearfix""
。当您使用文字字符串时,可以删除额外的"
。
答案 1 :(得分:0)
使用正则表达式进行这种解析是个坏主意。对此特定方案使用XML解析器。我建议使用LINQ to XML,即XElement.Parse(...)
不要忘记将html包装在单个根元素中。
答案 2 :(得分:0)
使用SingleLine选项尝试此模式:
string pattern = "<div\\sclass=\"results-list clearfix\">\\s*(?<Content><div[^>]*>.*?</div>)"