Regex вытащить из всех найденных их ссылки - C#

Узнай цену своей работы

Формулировка задачи:

Делаю запрос на страницу, хочу получить все ссылки из тега <a> Пример:
<a
    name="1"
    href="http://website1.com/"
    class="b"
>
<a
    name="2"
    href="http://website2.com/"
    class="b"
>
нужно вытащить из всех найденных <a> их href'ы. и получить на выходе массив {"http://website1.com/","http://website2.com/"}
Нашел пример для 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+))";
Но это не находит результаты
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"));
    }
}

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы