JavaScript ReverseMatch - PullRequest
       0

JavaScript ReverseMatch

1 голос
/ 13 марта 2020

Это просто, у меня есть это предложение:

str = "aeiou";

Требуется RegExp для сканирования строки каждые X символов, но в обратном порядке.

Пример:

let every=2,
    match = new RegExp(/>>RegExp Here<</gi);  
//result "a ei ou"

1 Ответ

2 голосов
/ 13 марта 2020

Использование

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