java中对url校验的正则表达式如下:
String regex = "(ht|f)tp(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\'\\/\\\\&%\\+\\$#_=]*)?";
这里的“\\\\”四个斜杠,被解释后实际上是一个斜杠。
java将“\\”解析为“\”所以“\\\\”,java将会解析为“\\”交给正则表达式正则表达式再经过一次转换,把\\转换成为\
所以,java里面要用正则来表示一个\,必须写成4个\ 。如果要表示\\,那就要写8个\
public static boolean isUrl(String urls) {if(StringUtils.isBlank(urls)) {return true;}String regex = "(ht|f)tp(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\'\\/\\\\&%\\+\\$#_=]*)?";Pattern pat = pile(regex);Matcher mat = pat.matcher(urls.trim());boolean result = mat.matches();return result;}