Java中通过正则表达式判断是否为合法的url地址

String regex = "^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" ;
Pattern patt = Pattern. compile(regex );
Matcher matcher = patt.matcher(urlString);
boolean  isMatch = matcher.matches();
if  (!isMatch) {
      System.out.println( "您输入的URL地址不正确" );
else {
      …… 
}


其实还有一种方法,是通过java.net.Url来实现的,很简单,不过貌似有些测试不过关那,譬如测试"http://",也能通过,当然正则表达式也不是万能的,也有些原本不合格的测试能通过:
try  {
      URL url =  new  URL( urlString );
      System.out.println (  "url 正确" );
catch  (MalformedURLException e) {
      System.out.println (  "url 不可用" );
}

你可能感兴趣的:(Java中通过正则表达式判断是否为合法的url地址)