正则表达式:html的多行问题

时间:2012-05-16 20:37:12

标签: c# .net regex

我正在玩C#中的网站和正则表达式。我有这种情况:

             <a href="path/to/image">
    <img src="thumbnail"></a>

该概述是我的应用程序如何获取给定网站的内容。每行的标签和隔断线不一样。

我使用gskinner检查正则表达式(http://gskinner.com/RegExr/)并创建了这个正则表达式:

            (?i)<a([^>]+)>\W.*</a>

标志:多线

Gskinner表明模式是正确的。但是当我输入c#(regEx.Matches(...))时,它再也找不到匹配。

有没有人知道如何做到这一点?

由于

1 个答案:

答案 0 :(得分:0)

使用HtmlAgilityPack和您的示例字符串

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);

-

var href = doc.DocumentNode
    .Descendants("a")
    .Select(n => n.Attributes["href"].Value)
    .FirstOrDefault();

var src = doc.DocumentNode
    .Descendants("img")
    .Select(n => n.Attributes["src"].Value)
    .FirstOrDefault();