从字符串中提取img标签的src属性的正则表达式

3

我有这样的字符串:

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

我应该在C#中编写什么正则表达式才能提取src部分?(最终结果应为"http://row.bc.yahoo.com.link")

你现在有什么想法了吗? - Ioannis Karadimas
2个回答

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 Agility Pack,并且已使用XPath选择了文档中的所有img标签,则需要迭代它们并访问src属性:

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

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

我使用Agility Pack并使用XPath选择与//img/@src匹配的节点。但是一旦我有了它,我想从该节点中提取src。我无法使用regex完成这个任务。 - Ghita
你说得对,我已经使用Agillity Pack获取了节点,所以不需要使用正则表达式。 - Ghita

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

它能工作,但使用HTML Agility Pack提供的解决方案是最好的。谢谢。 - Ghita

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接