Нет необходимости использовать Regex, чтобы попытаться проанализировать HTML, когда есть фантастическая библиотека под названием HTML Agility Pack . Эта библиотека облегчает поиск ссылок и будет корректно обрабатывать особые случаи, когда ваше регулярное выражение потерпит неудачу. Вы получите более надежное решение с меньшими усилиями.
Этот пример кода, демонстрирующий использование библиотеки, написан на C #, но, надеюсь, он поможет вам построить решение в VB.NET:
.
HtmlDocument doc = new HtmlDocument();
doc.Load("input.html");
foreach (var link in doc.DocumentNode.Descendants("a"))
{
string href = link.Attributes["href"].Value;
Match match = Regex.Match(href, "^http://(?<Link>.*?)/profile$");
if (match.Success)
{
Console.WriteLine(match.Groups["Link"].Value);
}
}