我有一個這樣的字串
const str = "Today is going to be @[City Temp](city-temp) in @[City Name](city-name)"
我希望輸出采用把手語法,例如
const str = "Today is going to be {{city-temp}} in {{city-name}}"
我在嘗試匹配此模式時遇到問題。
我可以看到如果我這樣做
str.replace(/[()]/g,"")
我得到沒有括號的字串。
但我不能作業了如何搜索整個模式類似下面,我發現任何東西開始@[和結尾),我不想剛開始與@本身作為有可能是我不字串中的時間不想洗掉@后面沒有跟的地方[
/[\@\[A-Za-z0-9\](A-Za-z0-9-)
uj5u.com熱心網友回復:
您可以使用
str = str.replace(/@\[[^\][]*]\(([^()]*)\)/g, "{{$1}}")
請參閱正則運算式演示。詳情:
@\[- 一個@[字串[^\][]*- 除[和之外的零個或多個字符]]\(- 一個](字串([^()]*)- 組 1 ($1):除(和之外的任何零個或多個字符)\)- 一個)字符。
請參閱 JavaScript 演示:
const str = "Today is going to be @[City Temp](city-temp) in @[City Name](city-name)"
console.log(str.replace(/@\[[^\][]*]\(([^()]*)\)/g, "{{$1}}"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/358691.html
標籤:javascript 正则表达式 代替 把手.js
下一篇:正則運算式字串組不同狀態
