正则表达式:找到单词后替换

时间:2019-03-07 15:38:16

标签: javascript regex string regexp-replace

我想用" : "替换表达式{{}}时的一个单词。

这是我第一次尝试使用regexp,但我不知道该怎么做。

这就是我所拥有的:

/:id/user 
/auth/:token 

这就是我想要的样子:

/{{id}}/user
/auth/{{token}}

2 个答案:

答案 0 :(得分:4)

使用带有正则表达式的.replace()作为第一个参数。在第二个中,$1将替换为正则表达式中第一个括号对之间的内容。

const str = "/:id/user/:param/:8d"
const result = str.replace(/:(\w+)/g, '{{$1}}')

console.log(result)

答案 1 :(得分:1)

您可以匹配/:id,并与replace配对,并取出/:并添加{{}}

const url = "/:id/user"
const url2 = "/auth/:token"

const res = url2.replace(/\/:\w*/g, match =>  `/{{${match.substring(2,match.length)}}}`)

console.log(res)