簡體   English   中英

javascript中的regex從網址中刪除數字路徑

[英]regex in javascript to remove numeric path from url

我有以下帶有客戶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為數字或字母數字。 我應該如何處理?

ID為數字或字母數字。

示例URL中的所有部分都包含字母或數字,因此您需要知道ID 之前的文字,以便您可以定位該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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM