Regex вытащить из всех найденных их ссылки - C#
Формулировка задачи:
Делаю запрос на страницу, хочу получить все ссылки из тега <a>
Пример:
нужно вытащить из всех найденных <a> их href'ы.
и получить на выходе массив
{"http://website1.com/","http://website2.com/"}
Но для других тегов он не работает
Пытаюсь внести свои правки, получаю
Но это не находит результаты
<a
name="1"
href="http://website1.com/"
class="b"
>
<a
name="2"
href="http://website2.com/"
class="b"
>
Нашел пример для title
string pattern = @"(?<=<title>)(.*)(?=</title>)";
нашел вот такое выражение на msdn
string HRefPattern = "href\\s*=\\s*(?:["'](?<1>[^"']*)["']|(?<1>\\S+))";
string pattern = "<a(\\S{1,})href\\s*=\\s*(?:["'](?<1>[^"']*)["']|(?<1>\\S+))";Решение задачи: «Regex вытащить из всех найденных их ссылки»
textual
Листинг программы
using (var http = new HttpClient())
{
string html = http.GetStringAsync("http://ru.wikipedia.org").Result;
var parser = new HtmlParser();
var document = parser.Parse(html);
foreach (var linkElement in document.QuerySelectorAll("a[href]"))
{
Console.WriteLine(linkElement.GetAttribute("href"));
}
}