正则表达式从字符串中提取img源代码

时间:2011-11-23 11:32:13

标签: c# regex html-parsing

我有这样的字符串:

<img width="1" height="1" alt="" src="http://row.bc.yahoo.com.link">

我应该用什么正则表达式用C#编写来提取它的src部分? (最终结果应为“http://row.bc.yahoo.com.link”)

2 个答案:

答案 0 :(得分:4)

如果您正在处理HTML,那么最好使用像HTML Agility Pack这样的HTML解析器。

样品:

var doc = new HtmlDocument();

doc.LoadHtml(
    "<img width=\"1\" height=\"1\" alt=\"\" src=\"http://row.bc.yahoo.com.link\">");

var anchor = doc.DocumentNode.Element("img");

Console.WriteLine(anchor.Attributes["src"].Value);

<强>更新 如果您已经在使用HTML敏捷包并使用XPath从文档中选择了所有img标记,则需要迭代它们并访问src属性:

var imgs = doc.DocumentNode.SelectNodes("//img/@src");

foreach (var node in imgs)
{
    Console.WriteLine(node.Attributes["src"].Value);
}

答案 1 :(得分:3)

此模式应该有效:src="([^"]*)"