正则表达式跳过协议URL

时间:2013-04-05 10:46:18

标签: regex

我正在尝试在C#中定义一个正则表达式,当给定一个url时,将返回除协议之外的url,例如http。也就是说,我需要跳过任何协议,只返回域和路径。

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

尝试使用以下正则表达式:

^[a-z]+://(.*)$


string input = "http://www.google.com/search";

Match match = Regex.Match(input, @"^[a-z]+://(.*)$", RegexOptions.IgnoreCase);

if (match.Success)
{
    string url = match.Groups[1].Value;
}

答案 1 :(得分:1)

使用此正则表达式(?<=://).+

在regexGroup中使用此正则表达式://(.+) 没有lookbehind值,[1]

答案 2 :(得分:0)

您可以使用简单替换

string url = "http://url.com";
        if(url.Contains("http://")){
            url = url.Replace("http://","");
        }
        else if(url.Contains("https://")){
            url = url.Replace("https://","");
        }

url = Regex.Replace(url,@"[a-z]+://","");