gpt4 book ai didi

javascript - javascript中的正则表达式从url中删除数字路径

转载 作者:行者123 更新时间:2023-12-03 05:52:17 27 4
gpt4 key购买 nike

我有如下所示的带有客户 ID 等的 URL。我想删除它们并用星号代替它们。下面的例子会给你一个更好的想法。

/paas/service/3.0/part/d878bc1e-9bb8-4a0e/log/account/7367c100-9390-11e3/resource/AdminHistory --> /paas/service/3.0/part/*/log/account/*/resource/AdminHistory

/hs/service/3.0/bootstrap/mnd/3388959354 --> /hs/service/3.0/bootstrap/mnd/*

/paas/service/3.0/part/d878bc1e-9bb8-4a0e-b224-a4ba0d7dfcec/asset --> /paas/service/3.0/part/*/asset

/paas/service/3.0/part/3c5631df-52c9/servicepolicy/8ee6ba08-8d7a/carrierPlan/c2b4a364-98e3-4546 --> /paas/service/3.0/part/*/servicepolicy/*/carrierPlan/*

ID 可以是数字或字母数字。我应该如何处理这个问题?

最佳答案

The IDs are either numeric or alphanumeric.

示例网址中的所有部分都包含字母或数字,因此您需要知道 ID 之前的文本是什么,以便您可以定位该加号后面的 ID。

也许是这样的:

function modifyURL(url) {
return url.replace(/(\/(?:part|account|mnd|servicepolicy|carrierPlan)\/)[^\/]+/g, "$1*");
}

console.log(modifyURL("/paas/service/3.0/part/d878bc1e-9bb8-4a0e/log/account/7367c100-9390-11e3/resource/AdminHistory"));
console.log(modifyURL("/hs/service/3.0/bootstrap/mnd/3388959354"));
console.log(modifyURL("/paas/service/3.0/part/d878bc1e-9bb8-4a0e-b224-a4ba0d7dfcec/asset"));
console.log(modifyURL("/paas/service/3.0/part/3c5631df-52c9/servicepolicy/8ee6ba08-8d7a/carrierPlan/c2b4a364-98e3-4546"));

解释我使用的正则表达式:

(       // start of capturing submatch         
\/ // match a forward slash
(?: // start of non-capturing group
part|account|mnd|servicepolicy|carrierPlan // match one of those words
) // end of non-capturing group
\/ // match forward slash
) // end of capturing submatch
[^\/]+ // match one or more of anything but a forward slash

关于javascript - javascript中的正则表达式从url中删除数字路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40097673/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com