0

Как спарсить ссылку на сайт вот от сюда?

<li data-bm="6" class="b_algo"><h2><a href="http://php.net/manual/en/index.php" h="ID=SERP,5100.1"><strong>PHP</strong>: <strong>PHP Manual</strong> - Manual</a></h2></li>
  • Это зависит от того что вы понимаете под парсингом. Что вы хотите получить из ссылки – Mike Feb 10 '16 at 14:51
  • Мне из html кода нужно вытягивать ссылки такого типа – Roman Kravets Feb 10 '16 at 15:00
  • Лучше отталкиваться от тегов в которых они находятся функциями DOM. И если регулярками, то все равно лучше от тегов отталкиваться. В кривых url запросто могут встретится какие нибудь кавычки и поди отличи ее после этого от кавычек в которые она заключена – Mike Feb 10 '16 at 15:09
  • Обновил вопрос. – Roman Kravets Feb 10 '16 at 15:19
  • Лучше использовать CSS селекторы для такого дела. Есть библиотека AngleSharp офигенная, с нугета можно скачать – Vladimir Paliukhovich Feb 10 '16 at 15:26
  • Мне нужно через Regex – Roman Kravets Feb 10 '16 at 15:36
  • Вот код парсинга http://prntscr.com/a1hgcz Как оттуда распарсить ссылку? – Roman Kravets Feb 10 '16 at 16:15
  • 5

1 Answers1

0

Рекомендую использовать AngleSharp для таких целей, но если вас устроит грубый Regex, то:

var result = Regex.Match(input,
                         @"<a [^>]+? href \s*=\s* ([""']) (?<url>[^\1]*?) (\1)",
                         RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
if (result.Success)
{
    return result.Groups["url"].Value;
}
Raider
  • 875