具有新顶级域名的Android模式匹配器

时间:2015-03-27 23:34:15

标签: android url tld

我编写了一个函数,它将字符串验证为web url。不幸的是,新的顶级域名,如" .koeln"和" .cologne"使用 Patterns.WEB_URL 尚不支持" .shop"等。

是否有人知道如何添加这些域或应该做些什么来使他们更新 Patterns 类?

boolean validate(final String url){
    Pattern pattern = Patterns.WEB_URL;
    Matcher matcher = pattern.matcher(url);
    return matcher.matches();
}

以下列出了所有(?)TLD,包括我所指的新TLD:

List

1 个答案:

答案 0 :(得分:0)

  

有人知道如何添加这些域

写一个正则表达式。所有Patterns都给你一套正则表达式Pattern对象。如果您不喜欢这些,create your own。您可以使用the existing WEB_URL implementation作为起点。

或者,use java.net.URL解析域名(getHost()),然后解析TLD,并针对您感兴趣的顶级域名列表进行查找。

  

应该怎么做才能让他们更新Patterns类?

我希望“他们”最终弃用WEB_URL,就像Patterns的其他方面一样。