C# 选择一个在C中带有正则表达式的主机名?

C# 选择一个在C中带有正则表达式的主机名?,c#,.net,regex,C#,.net,Regex,以下是一些地址: http://rs320tl.rapidshare.com/files/119371167/sth.rar 我将使用Regex选择rs320tl.rapidshare.com,但我不熟悉正则表达式。 请你给我引路好吗 谢谢 附言。 地址中的rs320tl是可变的。不应使用正则表达式来执行此操作 相反,请使用类: 如果要检查字符串是否为URL,请使用以下代码: Uri uri; if (!Uri.TryCreate(yourString, UriKind.Absolute, o

以下是一些地址:

http://rs320tl.rapidshare.com/files/119371167/sth.rar
我将使用Regex选择rs320tl.rapidshare.com,但我不熟悉正则表达式。 请你给我引路好吗

谢谢

附言。
地址中的rs320tl是可变的。

不应使用正则表达式来执行此操作

相反,请使用类:

如果要检查字符串是否为URL,请使用以下代码:

Uri uri;
if (!Uri.TryCreate(yourString, UriKind.Absolute, out uri))
    //String is not a valid URL.  Waah waah waah
string host = uri.Host;

您不应该使用正则表达式来执行此操作

相反,请使用类:

如果要检查字符串是否为URL,请使用以下代码:

Uri uri;
if (!Uri.TryCreate(yourString, UriKind.Absolute, out uri))
    //String is not a valid URL.  Waah waah waah
string host = uri.Host;

//\w、 *?\w/group[1]会有你的url

/\w.*?\w/group[1]会有你的url

如果你真的想走Regex/C路线,我想你想要的是这样的:

string sOriginalUrl = "http://rs320tl.rapidshare.com/files/119371167/sth.rar";
string sPattern = "http://(?'host'[0-9a-zA-Z-.]*)/.*";
Regex re = new Regex(sPattern, RegexOptions.ExplicitCapture);
string sHost = re.Match(sOriginalUrl).Groups["host"].Value;

如果你真的想走Regex/C路线,我想你想要的是这样的:

string sOriginalUrl = "http://rs320tl.rapidshare.com/files/119371167/sth.rar";
string sPattern = "http://(?'host'[0-9a-zA-Z-.]*)/.*";
Regex re = new Regex(sPattern, RegexOptions.ExplicitCapture);
string sHost = re.Match(sOriginalUrl).Groups["host"].Value;

谢谢,但是关于正则表达式呢,请你发布一个正则表达式来实现它。你确定吗!它选择整个地址!您需要使用捕获组。谢谢,但是Regex组呢,请您发布一个正则表达式来实现这一点。您确定吗!它选择整个地址!您需要使用捕获组。是否确定表达式!我想对它进行测试,我收到了一个错误:wYou的转义序列无法识别。你需要在字符串前面加一个@。你确定这个表达式吗!我想对它进行测试,我收到了一个无法识别的错误转义序列,因为你需要在字符串前面加一个@。