2013-04-27 2 views
-4

하위 도메인에 대한 정규 표현식이 필요하지만 하나를 찾을 수없는 것처럼 보이고 쓸 수 없습니다.subdomain.domain 다음에 오는 하위 도메인에 대한 정규식

나는 일치하는 정규식이 필요합니다

sub1.mydomain.local 그러나 일치하지

sub1.mydomain.com :

www.mydomain. co .com
www.mydomain.local

또는 :

[모든 프로토콜] // [anysubdomain www를 제외하고] .mydomain [anysuffix]

사람이 하나에서 이동을하는 신경.?

업데이트 (현재 보유하고있는 내용)

는 그래, 난 지금이 ​​:

^(?!.*www)[a-z]*(.)?([A-Za-z0-9_-]*)\.([A-Za-z]*)(.*)$ 

그러나 나는 필요 "mydomain.com"를 일치하지 않을 수 있습니다.

+3

이 문제를 해결하기 위해 수행 한 작업이 있습니까? 지금까지 시도한 바를 알려 주시면 질문에 대한 답변을 기꺼이 보내 드리겠습니다. (더 나은 질문을하는 데 도움이되는 링크 : [ask], [FAQ] – Doorknob

+0

참조 http://stackoverflow.com/questions/611883/regex-how-to-match-everything-except-a-particular-pattern 당신이 찾고있는 대답을 찾을 수 있습니다. – joce

+0

업데이트 된 정규식이 업데이트 된 필요성과 일치한다는 것을 알 수 있습니다. – joce

답변

0

다음 정규식 작품 : C#에서 너무

(\w+://)?(?!www)(\w+)\.(\w+)\.(\w+) 

:

static void Main(string[] args) 
{ 
    var match = Regex.Match("http://sub.blah.com", @"(\w+://)?(?!www)(\w+)\.(\w+)\.(\w+)"); 
    foreach (var g in match.Groups) 
    { 
     Console.WriteLine(g); 
    } 
} 

인쇄

 
http://sub.blah.com 
http:// 
sub 
blah 
com 

그리고 당신은 "http://www.blah.com" 또는 "www.blah.com" 또는 "blah.com", 프로그램에 의해 "http://sub.blah.com"을 대체하는 경우 아무것도 인쇄하지 않는다. 일치하는 사람을 찾지 마라). 그러나 "sub.blah.com"은 일치합니다.

+0

죄송합니다. IsMatch ("sd.domain.local")로 테스트 할 때 일치하지 않는 제품이 – Paul

+0

일 때 프로토콜을 원한다고 말씀하셨습니다. – joce

+0

@Paul 프로토콜이 선택 사항이라면 대신 (\ w + : //) (?! www) (\ w +) \. (\ w +) \. (\ w +)'을 사용할 수 있습니다. – joce

관련 문제