Если вы хотите решить это с помощью регулярного выражения (как вы отметили свой вопрос «регулярное выражение»), попробуйте это:
public string ExtractURL(string url)
{
return Regex.Match(url, "(?<!/)/[^/?#]+").Value;
}
Это регулярное выражение работает для абсолютных URL-адресов и относительных URL-адресов, начинающихся с косой черты. Если он также должен работать с относительными URL-адресами без косой черты, попробуйте следующее:
public string ExtractURL(string url)
{
Regex.Match(url, @"(\w*:(//[^/?#]+)?/)?(?<folder>[^/?#]+)").Groups["folder"].Value;
}