最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

头条:Java正则匹配域名白名单

来源:博客园


(资料图)

在上一篇文章《通用正则表达式开源工具,为开源绵尽薄力 》中,我们介绍了很多正则表达式的实例,工作中大家也经常遇到新的规则需要匹配,今天就看一下检测域名白名单的几种方式。

v方式一

/**     * * 获取网址 URL 的一级域名     * http://detail.tmall.com/item.htm?spm=a230r.1.10.44.1xpDSH&id=15453106243&_u=f4ve1uq1092 ->> tmall.com     *     * @param url     * @return     */    private static Pattern p = Pattern.compile("(?<=http://|\\.)[^.]*?\\.(com|cn|net|org|biz|info|cc|tv)", Pattern.CASE_INSENSITIVE);    public static String getDomain(String url) {        // 获取完整的域名        // Pattern p=Pattern.compile("[^//]*?\\.(com|cn|net|org|biz|info|cc|tv)", Pattern.CASE_INSENSITIVE);        Matcher matcher = p.matcher(url);        matcher.find();        return matcher.group();    }

v方式二

/**     * 检测域名     * @param url    原始url     * @param target 需要检测的url     * @return     */    public static boolean checkDomain(String url, String target){        String urlDecode = url;        try {            urlDecode = URLDecoder.decode(url);        }catch (Exception e){        }        Pattern pattern = Pattern.compile("://(.*?)/", Pattern.CASE_INSENSITIVE);        Matcher matcher = pattern.matcher(urlDecode);        matcher.find();        String domain = matcher.group(1);        if(!Strings.isNullOrEmpty(domain)){            if(domain.contains(target)){                return true;            }        }        return false;    }

v方式三

/**     * 检测域名     * @param url    原始url     * @param target 需要检测的url     * @return     */    public static boolean checkDomain2(String url, String target){        String urlDecode = url;        try {            urlDecode = URLDecoder.decode(url);        }catch (Exception e){        }        String pattern = "https?://[^/]*" + target + "/.*";        boolean isMatch = Pattern.matches(pattern, urlDecode);        return isMatch;    }

v源码地址

https://github.com/toutouge/TouTou.RegexTool

作  者:请叫我头头哥出  处:http://www.cnblogs.com/toutou/ 关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教! 版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。 特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我 声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!

关键词: 正则表达式 第一时间 最大动力