Использование
let str = "Hello world, 13th Mar 2020.";
let every=2;
let rx = new RegExp(`(?=(?:[^]{${every}})+$)`, 'g');
console.log(str.replace(rx, "_"));
// => H_el_lo_ w_or_ld_, _13_th_ M_ar_ 2_02_0.
регулярное выражение /(?=(?:[^]{2})+$)/g
, см. Демонстрационную версию регулярное выражение . Он соответствует любому расположению в строке, за которым следует одно или несколько повторений любых двух символов до конца строки, и вставляет _
в этом месте.
Подробности
(?=
- начало положительного взгляда: (?:[^]{2})
- любой символ ([^]
= [\s\S]
), 1 или более раз (благодаря +
) $
- конец строки
)
- конец заглядывания.