首页 > 解决方案 > 正则表达式查找 URL,包括仅以 //(协议相关 URL)开头的 URL

问题描述

http此正则表达式查找以和开头的 URLhttps

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)

我试图弄清楚如何修改它以包括那些省略httporhttps部分的 URL。我知道这些被称为“协议相关 URL

例子://example.com而不是http://example.com

标签: regexurl

解决方案


只需将协议部分设为可选:

(https?:)?(\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)

顺便说一句,我假设你真的想要example.com而不是//example.com(因为没有人这样写 URL)。


推荐阅读