如何解决带端口验证的URL的正则表达式
| 我需要验证类似于Web服务器的URL。 像http:// localhost:8080 / xyz 我们如何使用正则表达式做到这一点。抱歉,是regex新手。解决方法
相关规范可以在RFC 3986中找到,并包括所有可能的url组件的常规语法定义。但是,出于您的目的,这些可能太笼统了。一个仅在http(s)协议下匹配url的压缩表达式
http[s]?://(([[:alpha:][:digit:]-._~!$&\'\\(\\)*+,;=]|%([0-9A-F]{2}))+|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))(:[0-9]+)?(/([[:alpha:][:digit:]-._~!$&\'\\(\\)*+,;=]|%([0-9A-F]{2}))*)+(\\?([[:alpha:][:digit:]-._~!$&\'\\(\\)*+,;=/?]|%([0-9A-F]{2}))+)?(#([[:alpha:][:digit:]-._~!$&\'\\(\\)*+,;=/?]|%([0-9A-F]{2}))+)?
可以简化为
http[s]?://(([^/:\\.[:space:]]+(\\.[^/:\\.[:space:]]+)*)|([0-9](\\.[0-9]{3})))(:[0-9]+)?((/[^?#[:space:]]+)(\\?[^#[:space:]]+)?(\\#.+)?)?
以防您对url组件的正确语法有信心。
请注意,您可能希望使用更多限制性模式,例如用于全文搜索,并且仅允许使用iana注册的顶级域。
希望能帮助到你,
最好的问候,carten
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。