zoukankan      html  css  js  c++  java
  • 如何提取网址中域名和域名主体(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;
            }
        }
    }
  • 相关阅读:
    R的农场 chebnear
    math
    求平面内最近点对
    字符加密 cipher
    CF448C Painting Fence
    CF264B Good Sequences
    洛谷3166 数三角形
    [NOIP2013] 华容道
    [NOIP2013] 货车运输
    [NOIP2013] 积木大赛
  • 原文地址:https://www.cnblogs.com/csxf/p/3791548.html
Copyright © 2011-2022 走看看