替换主机和路径(位置),但保留文件名(它们不变)。
这适用于至少有一个子域的主机(域)(例如' www.somedomain.com'),但未能通过域+ TLD获取路径(例如&#39 ; somedomain.com&#39)
(http[s]?:\/\/([^:\/\s]+)(\/\w+)*\/)+
在以下HTML代码段
中junk before tag <img src="https://somedomain.com/wp-content/uploads/2017/10/someimage.jpg" alt="" />Random text after
PCRE引擎只会捕获:
https://somedomain.com/
在以下HTML代码段中(域具有子域名)
junk before tag <img src="https://www.somedomain.com/wp-content/uploads/2017/10/someimage.jpg" alt="" />Random text after
PCRE引擎捕获整个URL(保存文件):
https://www.somedomain.com/wp-content/uploads/2017/10/
如何调整正则表达式以捕获具有子域的img src=""
网址的完整协议,域 和路径 (但不是文件名) 以及 那些没有子域名?
答案 0 :(得分:2)
https?:\/\/(?:[^\/ ]*\/)*
演示here。
<强>解释强>
http //Should start with http
s? // s is optional
:\/\/ // should follow up with ://
(?: //START Non capturing group
[^\/ ]* //Any character but a / or a space
\/ //Ends with /
) //END Non capturing group
* //Repeat non-capturing group