Java 如何审查网站链接?

Java 如何审查网站链接?,java,regex,Java,Regex,我在regex审查程序上工作了相当长的时间,似乎找不到一种审查地址链接的好方法(并试图绕过它) 以下是我到目前为止得到的,忽略转义序列: ([a-zA-Z0-9_-]+[\\W[_]]*)+(\\.|[\\W]?|dot|\\(\\.\\)|[\\(]?dot[\\)]?)+([\\w]{2,6})((\\.|[\\W]?|dot|\\(\\.\\)|[\\(]?dot[\\)]?)([\\w]{1,4}))* 我不太确定是什么导致了这个问题,但是它审查了“com”和“come”以及几乎所有3

我在regex审查程序上工作了相当长的时间,似乎找不到一种审查地址链接的好方法(并试图绕过它)

以下是我到目前为止得到的,忽略转义序列:

([a-zA-Z0-9_-]+[\\W[_]]*)+(\\.|[\\W]?|dot|\\(\\.\\)|[\\(]?dot[\\)]?)+([\\w]{2,6})((\\.|[\\W]?|dot|\\(\\.\\)|[\\(]?dot[\\)]?)([\\w]{1,4}))*
我不太确定是什么导致了这个问题,但是它审查了“com”和“come”以及几乎所有3个以上的字母

问题:我想知道如何审查网站链接和试图绕过审查的无效链接。示例:

谷歌网站

谷歌

g o g l e。科尔姆

转到总账e%com

go og le(.)c om


还有一个小小的补充,有没有一个可能的方法来添加链接到一个白名单呢?谢谢。

您可以使用这样一个简单的函数

private String hideLink(String link){
    String[] split = link.split("\\.");
    String output = "";
    output += split[0] + ".";
    for(int i = 0; i < split[1].length(); i++){
        output += "*";
    }
    output +=  "." + split[2];
    return output;
}
返回
www.*****.com

召唤

hideLink("www.google.com");
hideLink("www.msn.net");
hideLink("http://abc.12345.org");
返回
www.**.net

召唤

hideLink("www.google.com");
hideLink("www.msn.net");
hideLink("http://abc.12345.org");
返回
*****.org


等等。

强制引用的可能重复:“有些人在遇到问题时,会想“我知道,我会使用正则表达式。”现在他们有两个问题。"——杰米Zawinski@dilix这不是同一个问题。@kervin是的,这不是完全相同的问题,我的错误。也许这个链接应该有助于主题初学者根据目的修复正则表达式,因为据我所知,主要问题是区分“com”和“come”@dilix这不是同一个问题,因为我想知道正则表达式的url和e规避。人们会试图规避审查,我希望有一个强大的方法来检测规避,审查它不仅是有效的URL。谢谢你的帮助,但还有很多其他的域名后缀,我不能像那样全部列出。而且并非总是有人会从www开始做广告。;)还有另一种方法可以做到这一点,那就是我会把他们都抓到,我会为你写的。编辑了这篇文章,希望你能从中得到你需要的东西