我需要一个正则表达式来验证绝对URL或相对URL。
答案 0 :(得分:3)
(http://|/)[^ :]+
另外值得注意的是,/example.com/some
是一个有效的网址,因为文件夹中可以包含句点,而且并非所有文件都有扩展名。
根据系统的不同,可能会有更多类型的字符添加到否定括号中。
最简单的方法是实际从服务器请求文件元数据,以检查它实际存在的天气,但根本不使用正则表达式。
答案 1 :(得分:0)
正如Konrad Rudolph正确指出的那样:OP中的所有示例都是有效的URL!你知道空字符串也是一个有效的URL吗?这是真的!如果确实想要验证网址,或者我应该说 URI ,那么要阅读的第一个文档是:RFC-3986 - Uniform Resource Identifier (URI): Generic Syntax。我一直在研究这个问题并写了一篇关于这个主题的文章:
Regular Expression URI Validation
请注意,这仅处理通用 URI。您可能希望查看特定于您感兴趣的方案的进一步要求(即HTTP
),例如要求主机名是虚拟DNS主机。