1

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

有任何想法吗?

4

3 回答 3

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;
}
于 2013-04-05T10:48:19.863 回答
1

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

或者

在 regexGroup[1] 中使用此正则表达式而不向后看://(.+)

于 2013-04-05T10:49:20.763 回答
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]+://","");
于 2013-04-05T10:49:53.257 回答