RegEx匹配URL中第一个反斜杠后的所有内容

时间:2014-07-07 16:49:48

标签: c# .net regex .net-4.5

我需要帮助才能找出正则表达式,以便仅匹配网址中第一个反斜杠之后的内容。

网址示例:http://www.TestThis.com/Some-Data/Some-Other-Data/Even-More-Data

模式:^(.*?//.*?/)(.*)$

我得到2场比赛,这可以奏效,但我真的只想要http://www.TestThis.com/之后的内容

2 个答案:

答案 0 :(得分:1)

Uri.PathAndQuery比任何针对有效网址的regEx都更好。它还将处理IP而不是DNS名称,主机部分,端口等中使用的%编码。

 Console.Write(
    new Uri(
     "http://www.TestThis.com/Some-Data/Some-Other-Data/Even-More-Dat"
    ).PathAndQuery);

答案 1 :(得分:1)

你可以在没有正则表达式的情况下尝试:

string test = "http://www.TestThis.com/Some-Data/Some-Other-Data/Even-More-Data";
string intermediate = test.Split(new string[] { "//" }, StringSplitOptions.RemoveEmptyEntries)[1];
string final = intermediate.Substring(intermediate.IndexOf('/') + 1);