Как мне получить значение, например:
<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(); }
Я думаю, что это ваша проблема ""results-list clearfix"". Поскольку вы используете буквенную строку, вы можете удалить лишние ".
""results-list clearfix""
"
Попробуйте этот шаблон с параметром SingleLine:
string pattern = "<div\\sclass=\"results-list clearfix\">\\s*(?<Content><div[^>]*>.*?</div>)"
Неправильно использовать регулярные выражения для такого анализа.Используйте синтаксический анализатор XML для этого конкретного сценария.Я предлагаю LINQ to XML, то есть XElement.Parse(...)
XElement.Parse(...)
Не забудьте обернуть вас html в один корневой элемент.