我正在开发一个获取并处理html文件的.Net(C#)软件。我需要从该文件中获取html元素的id,我想使用正则表达式。我尝试了一些组合,但没有运气。 例如,如果我有一行:
<a href="#" id="thisAnchor" >Link to somewhere</a><div id="divToCollect">BigDiv</div>
我想得到:thisAnchor
和divToCollect
。我正在使用正则表达式:
Regex.Matches(currentLine, expression);
答案 0 :(得分:1)
你不应该使用正则表达式,使用HtmlAgilityPack,你将获得所需的所有属性没有问题:
string html = "<div id='divid'></div><a id='ancorid'></a>";
var doc = new HtmlDocument();
doc.LoadHtml(html);
var divIds = doc.DocumentNode
.Descendants("div")
.Where(div => div.Attributes["id"] != null)
.Select(div => div.Attributes["id"].Value)
.ToList();