如何验证ER.RTR.RT12345的网址格式?

时间:2015-05-07 07:01:04

标签: java regex url

我遇到了验证网址格式的问题,例如ER.RTR.RT12345,它的回复是真的。但它适用于https://www.sophos.com/cs-cz/support/knowledgebase/117316.aspx这个。

public static boolean validateURL(String url) {
    String urlPattern = "(@)?(href=')?(HREF=')?(HREF=\")?(href=\")?(http://)?(https://)?[a-zA-Z_0-9\\-]+(\\.\\w[a-zA-Z_0-9\\-]+)+(/[#&\\n\\-=?\\+\\%/\\.\\w]+)?";
    if (url.matches(urlPattern))
        return true;
    else
        return false;
}

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

Java的URL类自动“验证”URL字符串。验证是根据

  

URL的语法由 RFC 2396:统一资源标识符(URI):通用语法定义,由 RFC 2732修改:URL中的文字IPv6地址格式

您可以使用constructor

public static void main(String[] args) {

    try {
        URL url = new URL("ER.RTR.RT12345");
    } catch (MalformedURLException e1) {
        e1.printStackTrace();
    }
}

并使用true块管理falsecatch。上面的例子抛出异常。