用Javascript Regex替换url中的子目录

Javascript Regex to replace a sub directory in url

本文关键字:子目录 url 替换 Javascript Regex      更新时间:2023-09-26

我正在尝试匹配特定目录后面的URL中的子目录:

然后将一个目录附加到匹配的字符串中。

/applications/app1应为/applications/app1/beta

/applications/app2/应为/applications/app2/beta/

/applications/app2/settings应为/applications/app2/beta/settings

/applications/app3?q=word应为/applications/app3/beta?q=word

我写了这个:

path = path.replace(/('/applications'/(.*)('/|'s|'?))/, '$1/beta');

但如果应用程序名称在字符串的末尾,则不起作用。

注意:我没有应用程序名称,我只知道它遵循/applications/

path.replace(/('/applications'/[^/?]+)/g,'$1/beta');

经过一番考虑,我更喜欢以下几种:

path.replace(/('/applications'/[^/?]+)($|'/|'?)(?!beta)/g,'$1/beta$2');
"/applications/app1/beta"      -> "/applications/app1/beta"
"/applications/app1"           -> "/applications/app1/beta"
"/applications/app1/settings"  -> "/applications/app1/beta/settings"
"/applications/app1?q=123"     -> "/applications/app1/beta?q=123"

匹配时将忽略/applications/beta