正则表达式匹配除来自 url 的协议之外的所有内容

regex to match everything except protocol from url

我有以下正则表达式模式: (?:http.?:\/\/)

这匹配来自网络的协议组件url,我想要一个正则表达式来做相反的事情,匹配除协议之外的所有内容,到目前为止我的每一次尝试都没有奏效。

因为最终我想做的是检查两个 url 是否相同而没有协议,所以我可以这样做:

if url_1[regex] == url_2[regex]

应该这样做:

/.*?\/\/(.*)/

您可以使用此正则表达式始终捕获开头的可选 http://https:// 之后的部分:

/^(?:[^:]+:\/\/)?(.+)$/

RegEx Demo

用这个拿第二组$2

/^(?:[^:]*:\/\/)?(.*?)$/