项目中需要增加获取一级域名的方法,自己借鉴网上前辈们的资料,改变成符合需求的。

  分享给大家,有歧义的地方大家共同研讨,共同学习。有不足的地方,或各位有更好的见解,请多多指教!

 1 import java.util.ArrayList;
 2 import java.util.List;
 3 import java.util.regex.Matcher;
 4 import java.util.regex.Pattern;
 5 
 6 public class GetOneYM {
 7     /*    
 8      *  匹配正则
 9      *  需求中有IP格式的域名
10      *  
11      */
12     private static String regex="([\\w][\\w-]*\\."
13             + "(?:com\\.cn|com|cn|co|edu|net|org|gov|cc|biz|tv|info)(\\/|$))"
14             + "|(((?:(?:25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}"
15             + "(?:25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))))";
16     
17     public static String getOneYM(String url){
18         Pattern p = Pattern.compile(regex);  
19         /*
20           * 如果域名中有端口号,去除
21          */
22         int index = url.indexOf(":");
23         if (index != -1) {
24             url = url.substring(0, index).trim();
25         }
26         Matcher m = p.matcher(url); 
27         List<String> strList = new ArrayList<String>();
28             while(m.find()){
29             strList.add(m.group());
30         }
31         String categoryId = strList.toString();
32         categoryId = categoryId.substring(1,categoryId.length()-1);
33         return categoryId;
34     }
35 }

 

posted on 2015-08-06 10:54  一寸相思万千劫  阅读(976)  评论(0编辑  收藏  举报