我正在尝试在C#中定义一个正则表达式,当给定一个url时,将返回除协议之外的url,例如http。也就是说,我需要跳过任何协议,只返回域和路径。
有什么想法吗?
答案 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]+://","");