使用c#中的regex检索给定句子的所有id

时间:2015-02-09 12:20:43

标签: c# .net regex

我正在开发一个获取并处理html文件的.Net(C#)软件。我需要从该文件中获取html元素的id,我想使用正则表达式。我尝试了一些组合,但没有运气。 例如,如果我有一行:

<a href="#" id="thisAnchor" >Link to somewhere</a><div id="divToCollect">BigDiv</div>

我想得到:thisAnchordivToCollect。我正在使用正则表达式:

Regex.Matches(currentLine, expression);

1 个答案:

答案 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();