不允许某些域名,允许其他域名

时间:2011-06-01 14:25:19

标签: regex

例如,有来自这些网址 http://www.subdomain1.domain.com.uk http://www.subdomain2.domain.uk URL我只需要提取名称​​ subdomain1 subdomain2

但如果我收到 http://www.subdomain3.co.uk http://www.subdomain4.com ,我需要获得整个网址 subdomain3.co.uk subdomain4.com

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

Expression捕获整个URL。

我的情况在那里显示得更好:http://www.rubular.com/r/B1iOUoUq33

2 个答案:

答案 0 :(得分:1)

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

区别在于

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

而不是

(?!SubdomainToNegate|www)\.*

答案 1 :(得分:0)

终于找到了解决方案:

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