Javascript Regex替换url中的子目录

Joe*_*any 6 javascript regex

我试图匹配特定目录后面的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');

但如果app-name位于字符串的末尾,则无效.

注意:我没有应用名称我只知道它如下/applications/

BGe*_*sen 5

path.replace(/(\/applications\/[^/?]+)/g,'$1/beta');
Run Code Online (Sandbox Code Playgroud)

经过一番考虑后,我更喜欢以下内容:

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"
Run Code Online (Sandbox Code Playgroud)

/applications/beta匹配时会忽略它.