如何提取网址中域名和域名主体(java)

package com.sogou.web.selector.updana.wapPc.test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.sogou.web.selector.updana.wapPc.DomainName;

public class TestURL {

    public static void main(String[] args) {
        String regex = "[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?";
        DomainName domainName=new DomainName();
        Pattern p = Pattern.compile(regex);
        String url = null;
        Matcher matcher = null;
        String sourceUrl = null;
        url = "http://club.m.autohome.com.cn/bbs/thread-c-24-343627-1.html";
        matcher = p.matcher(url);
        String[] urlArray=null;
        if (matcher.find()) {
            url = matcher.group();
            urlArray=url.split("\.");
            if(urlArray!=null&&urlArray.length!=0){
                for(int i=urlArray.length-1;i>=0;i--){
                    if(!domainName.isContains(urlArray[i])){
                        url=urlArray[i];
                        break;
                    }
                }
            }
        }
        System.out.println(url);
    }
}
package com.sogou.web.selector.updana.wapPc;

import java.util.HashSet;
import java.util.Set;

public class DomainName {

    private final Set<String> domain;
    public DomainName(){
        domain=new HashSet<String>();
        //世界后缀
        domain.add("com");
        domain.add("edu");
        domain.add("gov");
        domain.add("int");
        domain.add("mil");
        domain.add("net");
        domain.add("org");
        domain.add("biz");
        domain.add("info");
        domain.add("pro");
        domain.add("name");
        domain.add("museum");
        domain.add("coop");
        domain.add("aero");
        domain.add("idv");
        domain.add("xxx");
        //中国
        domain.add("cn");
    }
    public boolean isContains(String value){
        if(domain.contains(value)){
            return true;
        }else{
            return false;
        }
    }
}
原文地址:https://www.cnblogs.com/csxf/p/3791548.html