【发布时间】:2019-02-01 20:22:22
【问题描述】:
我有一个 html ul 列表:
<ul>
<li class="ng-scope">Item 1</li>
<li class="ng-scope">Item 2</li>
<li class="ng-scope">Item 3</li>
</ul>
我想在 C# 中将其转换为 List<string>。 li 元素可以有一个属性,也可以没有。例如。可以是<li class="ng-scope"> 或只是<li>
我目前正在这样做:
string patternUL = @"<(ul|ol)[\s]*[^\>]*>(<li[ a-z=""\\]*>.*?</li>)+?</\1>";
string trg = Regex.Replace(source, patternUL, (param) =>
{
foreach (Capture c in param.Groups[2].Captures)
{
output += $"{Regex.Replace(c.Value.Replace("&", "&"), "<li>(.*?)</li>", "$1")}|";
}
//}
return output;
});
但我没有将列表拆分为字符串 List - 它与模式不匹配。 如果我通过 li 没有任何属性的 ul 列表,那么它可以正常工作。
【问题讨论】:
标签: c# regex list html-lists