Ответ 1
Вот хороший ресурс для него: Как сопоставить ссылки в HTML с регулярным выражением.
Я пытаюсь найти все ссылки в исходном коде на веб-сайте, может ли кто-нибудь сказать мне выражение, которое мне нужно будет добавить в мое Regex, чтобы найти их?
Дубликат (среди прочих): Регулярное выражение для разбора ссылок с веб-страницы?
Google находит больше: html ссылки regex site: stackoverflow.com
Вот хороший ресурс для него: Как сопоставить ссылки в HTML с регулярным выражением.
Я не уверен, как это перевести на С# (я еще не делал никаких разработок в С#), но вот как это сделать в JavaScript или ColdFusion. Это может дать вам представление о том, как вы хотите сделать это на С#.
В JavaScript я think это сработает:
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);
}
Опять же, я его не тестировал, но рематч возвращает массив экземпляров выражения, а затем цикл for-next удаляет href="" вокруг фактического URL-адреса.