Regex для извлечения источника img из строки - PullRequest
3 голосов
/ 23 ноября 2011

У меня есть такие строки:

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

Какое регулярное выражение мне нужно написать в C #, чтобы извлечь его часть из src?(конечный результат должен быть "http://row.bc.yahoo.com.link")

Ответы [ 2 ]

4 голосов
/ 23 ноября 2011

Если вы имеете дело с HTML, вам лучше использовать HTML-анализатор, такой как HTML Agility Pack .

Пример:

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);

Обновление: Если вы уже используете пакет agility для HTML и выбрали все теги img из документа, используя XPath, вам нужно выполнить их итерацию и получить доступ к атрибуту src:

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

foreach (var node in imgs)
{
    Console.WriteLine(node.Attributes["src"].Value);
}
3 голосов
/ 23 ноября 2011

Этот шаблон должен работать: src="([^"]*)".

...