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

Android pattern matcher with new top level domains

我编写了一个函数,将字符串验证为网络 url。不幸的是,使用 Patterns.WEB_URL.

尚不支持新的顶级域名,如“.koeln”、“.cologne”和“.shop”等

有谁知道如何添加这些域或者应该如何使 它们 更新 Patterns class?

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

这是所有(?)TLD 的列表,包括我所指的新 TLD:

List

Does anybody know how to add these domains

写一个正则表达式。 Patterns 为您提供的是一组固定的正则表达式 Pattern 对象。如果您不喜欢这些,create your own. You might use the existing WEB_URL implementation 作为起点。

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

what should be done to make them update the Patterns class?

我希望“他们”最终会弃用 WEB_URL,就像他们拥有 Patterns.

的其他方面一样