URL의 첫 번째 백 슬래시 뒤에있는 부분 만 일치시키는 데 도움이 필요합니다.RegEx가 URL의 첫 번째 백 슬래시 뒤의 모든 것을 매치합니다.
URL 예 : http://www.TestThis.com/Some-Data/Some-Other-Data/Even-More-Data
패턴 : ^(.*?//.*?/)(.*)$
내가 일을 할 수있는, 2 경기를 얻을 수 있지만, 정말에만 http://www.TestThis.com/
URL의 첫 번째 백 슬래시 뒤에있는 부분 만 일치시키는 데 도움이 필요합니다.RegEx가 URL의 첫 번째 백 슬래시 뒤의 모든 것을 매치합니다.
URL 예 : http://www.TestThis.com/Some-Data/Some-Other-Data/Even-More-Data
패턴 : ^(.*?//.*?/)(.*)$
내가 일을 할 수있는, 2 경기를 얻을 수 있지만, 정말에만 http://www.TestThis.com/
Uri.PathAndQuery 어떤 정규식 당신보다 더 좋은 방법이 후 무엇을 할 유효한 URL을 찾을 수 있습니다. 또한 DNS 이름 대신 IP의 경우, 호스트 부분에 사용 된 인코딩의 %, 포트 등을 처리합니다.
Console.Write(
new Uri(
"http://www.TestThis.com/Some-Data/Some-Other-Data/Even-More-Dat"
).PathAndQuery);
나는 그 클래스 사용에 대해서 생각조차하지 않았다. 나는 항상 잊고있는 것 같다. 좋은! – DDiVita
당신은 정규식없이 시도 할 수 :
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);
당신이 합리적인 URL을 작업해야하는 경우 - (내 대답에 링크) 열린 우리당 클래스를 사용합니다. 그렇지 않으면 수용 가능한 입력과 예상 출력의 전체 목록을 보여 주도록하십시오 (예 :'//127.0.0.1/path? fake' 또는'ftp://some.random.multilevel.domain.com/foo/bar.bat). 봇 "예상)? –