【发布时间】:2014-06-19 04:16:35
【问题描述】:
如何修改下面的正则表达式:
String URLpattern = "((https?|ftp|gopher|telnet|file|Unsure|http):((//)|(\\\\))+[\\w\\d:#@%/;$()~_?\\+-=\\\\\\.&]*)"
是否考虑了以下所有 URL 形式?
http://www.website.com
https://www.website.com
www.website.com
website.com
http://website.com
https://website.com
编辑: 对于这个问题,有很多已经提出的解决方案。我可以列出其中的一些:
- Regular expression to match URLs in Java
- Regex to matches a url with or without http in java(很好解释,但在我的代码中不起作用)
- Regular Expression, match url without "http://" and any other "/"
但是,尽管我也尝试了所有这些方法,但它们都没有建议解释该表达式的工作原理和原因。因此,每当出现故障时(对我来说,在website.com 和http://website.com 形式的网址中发生故障),新手(像我一样;))很难应用任何修改或了解发生了什么出现故障时开启。
一个解释清楚的解决方案总是比其他人提出的解决方案更好,并且下次无法复制=)
【问题讨论】:
-
为什么我得到了这么多反对票?我的意思是:我寻找与该主题相关的其他问题,但没有一个提供有效的解决方案......如果您认为这不是一个好问题,您应该要求关闭它:)
-
我们想看到努力。如果您进行过研究,请展示并解释为什么它对您没有帮助。