java - 如何使用正则表达式验证Java中的URL? [复制]

Posted

技术标签:

【中文标题】java - 如何使用正则表达式验证Java中的URL? [复制]【英文标题】:How to validate URL in java using regex? [duplicate] 【发布时间】:2013-03-09 06:28:37 【问题描述】:

我想验证以http/https/www/ftp 开头的网址,并使用正则表达式检查网址末尾的/\ 斜杠和.com.org 等。是否有任何用于 URL 验证的正则表达式模式?

【问题讨论】:

为什么不尝试建立一个URL 并连接到它?有史以来最好的测试。 重复? http://***.com/questions/161738/what-is-the-best-regular-expression-to-check-if-a-string-is-a-valid-url 参考此链接:[正则表达式以匹配 Java 中的 URL][1] 希望对您有所帮助。 [1]:***.com/questions/163360/… 现有的正则表达式不适合我。这就是我在这里问的。 【参考方案1】:

这行得通:

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("your url here"); 

【讨论】:

【参考方案2】:

我为此使用以下代码

String lRegex = "^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]";

顺便说一句,在谷歌搜索,你会找到自己的解决方案。

【讨论】:

如果我写 www.abc.com,它不会检查 www psisodia:URL 地址中不需要“www” @Stefan Beike:它会检查192.168.67.90/mysite/page1.html url吗?

以上是关于java - 如何使用正则表达式验证Java中的URL? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

JAVA 中的网站/URL 验证正则表达式

如何使用 java 正则表达式验证字符串?

JAVA中的正则表达式简介

如何用正则表达式验证用户名

聊一聊 Java 中的正则表达式

java如何验证正负整数11位,小数6位?正则表达式可以吗