You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正则表达式求助:移除URL中master及后续任意斜杠

解决方案

要实现你想要的替换效果——不管master后有没有斜杠、有多少个斜杠,都能把URL调整成目标格式,你可以用这个正则表达式:

匹配模式:\/master(?:\/)*$
替换为:\/

正则说明

我拆解一下这个正则的作用:

  • \/master:精准匹配URL中的/master片段,斜杠加转义符\是为了避免和正则的分隔符冲突;
  • (?:\/)*:非捕获组,用来匹配零个或多个斜杠((?:)表示不捕获这个组,只是用来分组匹配,能提升一点效率);
  • $:匹配字符串的结尾,确保我们只替换URL末尾的master相关片段,不会误改中间出现的master(比如如果URL里有/main-app/master/other-page这种情况,完全不会影响)。

测试场景验证

这个正则能完美处理你提到的所有情况:

  • 原URL:http://server-VM1.test.com:8080/main-app/master/ → 替换后:http://server-VM1.test.com:8080/main-app/
  • 原URL:http://server-VM1.test.com:8080/main-app/master → 替换后:http://server-VM1.test.com:8080/main-app/
  • 原URL:http://server-VM1.test.com:8080/main-app/master//// → 替换后:http://server-VM1.test.com:8080/main-app/

代码示例(以JavaScript为例)

const originalUrls = [
  "http://server-VM1.test.com:8080/main-app/master/",
  "http://server-VM1.test.com:8080/main-app/master",
  "http://server-VM1.test.com:8080/main-app/master////"
];

originalUrls.forEach(url => {
  const modifiedUrl = url.replace(/\/master(?:\/)*$/, "/");
  console.log(`原URL:${url}\n替换后:${modifiedUrl}\n`);
});

内容的提问来源于stack exchange,提问作者Ziko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:00:12