2011-06-01 69 views
0

例如有URL http://www.subdomain1.domain.com.ukhttp://www.subdomain2.domain.uk,從我需要的這些網址僅提取名稱子域1子域2禁止某些域名,允許其他人

但是,如果我收到http://www.subdomain3.co.ukhttp://www.subdomain4.com我需要得到整個URL像subdomain3.co.uksubdomain4.com

我的表達:^http:\/\/(?:www\.)?((?!SubdomainToNegate|www).*)((?!\.domain\.com\.uk|\.domain\.uk).*)$

表達抓住整個URL。

我的情況是那邊出更好:http://www.rubular.com/r/B1iOUoUq33

+0

可能是一個錯字,但我應該指出'.com.uk'不是一個有效的英國域名。 – Spudley 2011-06-01 14:34:20

回答

0

終於找到了解決辦法:

http:\/\/(?:www\.)?((?:(?!domain.com.uk|domain.uk)[^\s.]+)(?:\.(?!domain.com.uk|domain.uk)[^\s.]+)*) 
1
^http:\/\/(?:www\.)?((?!SubdomainToNegate|www)[^\.]*)((?!\.domain\.com\.uk|\.domain\.uk).*)$ 

區別是

(?!SubdomainToNegate|www)[^\.]* 

,而不是這個

(?!SubdomainToNegate|www)\.* 
+0

謝謝,它有一點幫助。我已將我的表達式重寫爲:^ http:\/\ /(?: www \。)?((?! SubdomainToNegate | www)[^ \。] * \。(?! domain \ .com \ .uk | domain \ .uk)。*)$但結果並非如我所料。 http://www.rubular.com/r/qAdMdJoNYb – 2011-06-01 14:47:50

相關問題