我有一个输入文本我必须输入一个链接 我将如何验证该字符串是否是一个URL(链接)。 实施例 -
Pattern p = Pattern
.compile("(@)?(href=')?(HREF=')?(HREF=\")?(href=\")?(http://)?[a-zA-Z_0-9\\-]+(\\.\\w[a-zA-Z_0-9\\-]+)+(/[#&\\n\\-=?\\+\\%/\\.\\w]+)?");
Matcher m = p.matcher("https://mail.google.com");
System.out.println(m.matches());
此代码也给出了错误。我没有得到该代码中的问题
或者请参考另一个逻辑来验证网址
我已经使用了UrlValidator urlValidator = new UrlValidator();
但我不想用这个.jar
这是此方法正确验证的另一种方法,但我的网址不可用。如何查看此要求? 示例 -
public static void main(String[] args) {
String b = "http://11155555.com/";
System.out.println(isUrl(b));
}
public static boolean isUrl(String str) {
Pattern urlPattern = Pattern.compile(
"((https?|ftp|gopher|telnet|file):((//)|(\\\\\\\\))+[\\\\w\\\\d:#@%/;$()~_?\\\\+-=\\\\\\\\\\\\.&]*)",
Pattern.CASE_INSENSITIVE);
Matcher matcher = urlPattern.matcher(str);
if (matcher.find()) {
return true;
} else {
return false;
}
}
先谢谢。
答案 0 :(得分:-1)
试试这个:
public static boolean isUrl(String str){
Pattern urlPattern = Pattern.compile("((https?|ftp|gopher|telnet|file):((//)|(\\\\\\\\))+[\\\\w\\\\d:#@%/;$()~_?\\\\+-=\\\\\\\\\\\\.&]*)",Pattern.CASE_INSENSITIVE);
Matcher matcher = urlPattern.matcher(str);
if (matcher.find())
return true;
else
return false;
}