Я пытаюсь найти все ссылки в исходном коде на веб-сайте, может ли кто-нибудь сказать мне выражение, которое мне нужно было бы вставить в свое регулярное выражение, чтобы найти их?
Дубликат (среди прочего): Регулярное выражение для анализа ссылок с веб-страницы?
Google находит еще: html ссылки regex site: stackoverflow.com





Я не уверен, как это будет переведено на C# (я сам еще не занимался разработкой на C#), но вот как я могу сделать это в JavaScript или ColdFusion. Это может дать вам представление о том, как вы хотите сделать это на C#.
В JavaScript I считать это будет работать:
rex = /.*href = "([^"]+)"/;
a = source.replace(rex,'\n$1').split('\n');
после чего a будет массивом, содержащим ссылки ... хотя я не уверен, будет ли это работать именно так, как я думаю. Идея здесь в том, что при замене создается список, разделенный разрывом строки (потому что у вас не может быть разрыва строки в URL-адресе), а затем вы можете разбить список на части с помощью split (), чтобы получить свой массив.
Для сравнения в ColdFusion вам нужно было бы сделать что-то немного другое:
a = REMatch('href = "[^"]+"',source);
for (i = 1; i < ArrayLen(a); i++) {
a[i] = mid(a[i],6,len(a[i])-1);
}
Опять же, я не тестировал его, но rematch возвращает массив экземпляров выражения, а затем цикл for-next удаляет href = "" вокруг фактического URL.
Вопрос помечен C#.