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

Regexp: Replace when word found

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

这是我第一次尝试使用正则表达式,但我不知道该怎么做。

这就是我所拥有的:

/:id/user 
/auth/:token 

这就是我想要的样子:

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

您可以匹配 /: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)

使用 .replace() 并将正则表达式作为第一个参数。在第二个中,</code> 将替换为正则表达式中第一对括号之间的内容。</p> <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code"> <pre><code>const str = "/:id/user/:param/:8d" const result = str.replace(/:(\w+)/g, '{{}}') console.log(result)