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? [复制]的主要内容,如果未能解决你的问题,请参考以下文章