Замена значения с помощью Regex - PullRequest
1 голос
/ 04 мая 2020

У меня есть две переменные:

var v1 = 'http://localhost/wa/pradeep'
var v2 = 'http://localhost/wa/pradeep/some/text'

var re = /(\/wa\/\w*\/?)/

var replaceValue = '$&/~tag/test'

console.log(v1.replace(re, replaceValue))

console.log(v2.replace(re, replaceValue))

Я хочу избежать двух последовательных слэшей от второго выхода. Кто-нибудь может подсказать мне, как мне добиться того же?

Может быть, есть способ условно проверить, присутствует ли вторая группа, а затем добавить sla sh? Я не мог найти способ достичь этого.

Редактировать: Для второго случая в конце должен быть sla sh (после 'test'). Например: http://localhost/wa/pradeep/~tag/test/some/text

1 Ответ

1 голос
/ 04 мая 2020

Вам нужно оставить последнюю / вне группы и использовать обратную ссылку группы # 1:

var v1 = 'http://localhost/wa/pradeep'
var v2 = 'http://localhost/wa/pradeep/some/text'

var re = /(\/wa\/\w*)(\/?)/

var replaceValue = '$1/~tag/test$2'

console.log(v1.replace(re, replaceValue))

console.log(v2.replace(re, replaceValue))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...