JS regex заменить номер
пытаюсь обойти некоторые регулярные выражения с помощью JS .заменить, чтобы заменить целое число строкой.
например, строка может быть:
var string = 'image[testing][hello][0][welcome]';
Я хочу заменить "0" другим значением. Первоначально я использовал это:
string.replace( /[d]/g, '[newvalue]');
но когда мы начинаем заменять двойные цифры или больше (12, 200, 3204, вы получаете то, что я имею в виду), он перестает работать должным образом. Не уверен, как заставить его работать так, как я этого хочу.
спасибо заранее. Очень признателен.
2 ответов
вам нужно указать несколько цифр:
string.replace( /\[\d+\]/g, '[newvalue]');
(обратите внимание, что демо использует jQuery для итерации по узлам, но это просто удобство и не имеет никакого отношения к регулярному выражению, оно просто демонстрирует свою функцию.)
причина, по которой ваш оригинал не работал, я думаю, потому что \d
соответствует только одной цифре, тогда как +
оператор/символ указывает на предыдущий (в данном случае цифра) характер один или несколько раз.
ссылки:
использовать следующий:
string.replace( /\[\d+\]/g, '[newvalue]');
это должно соответствовать всем цифрам в скобках.