Регулярное выражение: заменить, когда слово найдено - PullRequest
0 голосов
/ 07 марта 2019

Я хочу заменить слово при выражении " : " на {{}}.

Это моя первая попытка с регулярным выражением, и я не знаю, как это сделать.

Вот что у меня есть:

/:id/user 
/auth/:token 

Вот как я хочу, чтобы это было:

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

Ответы [ 2 ]

4 голосов
/ 07 марта 2019

Используйте .replace() с регулярным выражением в качестве первого параметра.Во втором случае $1 будет заменено на то, что находится между первой парой скобок в вашем регулярном выражении.

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

console.log(result)
1 голос
/ 07 марта 2019

вы можете сопоставить /: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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...