Java twitter如何验证URL

Java twitter如何验证URL,java,regex,twitter,url-validation,Java,Regex,Twitter,Url Validation,多亏了这个答案。我一直在使用以下代码验证URL。只是最近新的域名有很多可能的选择。所以我想,如果twitter将其视为URL(发布推文时),我将使用相同的。。。可以这么说,遵循标准 我想知道twitter是如何验证URL的,有没有我可以使用twitter正在使用的库。请帮我解决这个常见的问题。非常感谢 public static List<String> extractUrls(String input) { List<String> result = new A

多亏了这个答案。我一直在使用以下代码验证URL。只是最近新的
域名有很多可能的选择。所以我想,如果twitter将其视为URL(发布推文时),我将使用相同的。。。可以这么说,遵循标准

我想知道twitter是如何验证URL的,有没有我可以使用twitter正在使用的库。请帮我解决这个常见的问题。非常感谢

public static List<String> extractUrls(String input) {
    List<String> result = new ArrayList<String>();

    Pattern pattern = Pattern.compile(
        "(\\s)+\\b(((ht|f)tp(s?)\\:\\/\\/|~\\/|\\/)|(www.)?)" + 
        "(\\w+:\\w+)?(([-\\w]+\\.)+(com|org|net|gov" + 
        "|mil|biz|info|mobi|name|aero|jobs|museum|club" + 
        "|travel|[a-z]{2}))(:[\\d]{1,5})?" + 
        "(((\\/([-\\w~!$+|.,=]|%[a-f\\d]{2})+)+|\\/)+|\\?|#)?" + 
        "((\\?([-\\w~!$+|.,*:]|%[a-f\\d{2}])+=?" + 
        "([-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)" + 
        "(&(?:[-\\w~!$+|.,*:]|%[a-f\\d{2}])+=?" + 
        "([-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)*)*" + 
        "(#([-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)?\\b");

    Matcher matcher = pattern.matcher(input);
    while (matcher.find()) {
        result.add(matcher.group());
    }

    return result;
}
公共静态列表提取URL(字符串输入){
列表结果=新建ArrayList();
Pattern=Pattern.compile(
“(\\s)+\\b(((ht|f)tp(s?\:\/\/\/\/)\/(www.)?)”+
“(\\w+:\\w+)([-\\w]+\\)+(com | org | net | gov”+
“| mil | biz | info | mobi | name | aero | jobs | museum | club”+
“|旅行|[a-z]{2}”)(:[\\d]{1,5})?”+
“((\\/([-\\w~!$+\;,=]\%[a-f\\d]{2})++\\/)+\\\
“(\\?([-\\w~!$+\,*:]\%[a-f\\d{2}])+=?”+
“([-\\w~!$+|,*:=]|%[a-f\\d]{2})*”)”+
“(&(?:[-\\w~!$+|,*:]|%[a-f\\d{2}])+=?”
“([-\\w~!$+|,*:=]|%[a-f\\d]{2})**)*)*”+
“(#([-\\w~!$+|,*:=]|%[a-f\\d]{2})*)?\\b”);
Matcher Matcher=pattern.Matcher(输入);
while(matcher.find()){
add(matcher.group());
}
返回结果;
}

Twitter公开了
Twitter文本
库,该库有很多文本处理选项。这是相关的回购协议。如果您想在客户端执行此操作,可以使用前面提到的来自

的代码,您可以使用Twitter文本库。如果您想验证URL,您可以使用TLD的官方列表-

副本,谢谢您的回答。谢谢您提供的额外信息:)