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; } } }