2010-06-07 42 views
3

有谁知道如何使用正则表达式在Java中验证URL的格式?在java中验证URL

感谢

+0

另请参阅此问题:http://stackoverflow.com/questions/27745/getting-parts-of-a-url-regex – Pops 2010-06-07 20:45:42

+0

使用正则表达式。不要使用下面分享的类。他们可能会打开网络连接。 – MikeNereson 2011-11-24 04:56:20

+0

@MikeNereson不正确。 java.net.URI将永远不会访问网络,这是验证Java中的URI的最佳方式。 java.net.URL的equals()和hadhCode()方法尝试访问网络,这是正确的,但java.net.URL构造函数很可能不会。 – 2012-05-11 21:54:31

回答

7

一个非常狡猾的方式是做:

try { 
    new java.net.URI(myUrl); 
} catch(URISyntaxException e) { 
    // url badly formed 
} 
+3

我建议不要使用URL类(请参阅下面的URI的答案) - 它执行网络查找来解析服务器名称。 – dplass 2010-06-07 20:41:21

+0

我真的打算使用'URI'类,谢谢你指出了这一点。 – Finbarr 2010-06-07 20:42:58

+0

感谢您修复这个例子。 – dplass 2010-06-07 20:45:51