例如,有来自这些网址 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
答案 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.]+)*)