#javascript #регулярные_выражения
К примеру есть строка "111111333322" , и N=3. Так вот, вернуть должно 11133322, то есть, я удалил все повторяющиеся элементы после N и оставил кол-во символов равное N. Такое вообще решить можно с помощью регулярного выражения или нет?
Ответы
Ответ 1
var n = 3; var rex = new RegExp("((.)\\2{" + (n-1) + "})\\2+", 'g'); console.log("111111333322".replace(rex, "$1")); Для двухзначных чисел через пробел: var n = 3; var rex = new RegExp("(\\b(\\d+)(?: \\2){" + (n-1) + "})(?: \\2)+\\b", 'g'); console.log("23 23 23 23 26 26".replace(rex, "$1")); console.log("23 23 23 230".replace(rex, "$1")); console.log("2 2 2 2 2 230 30 30 30 30 30 0 0 0".replace(rex, "$1")); console.log("2 2 2 2 2".replace(rex, "$1"));
Комментариев нет:
Отправить комментарий