Как использовать регулярное выражение для сопоставления подстроки через группу в JavaScript? - PullRequest
0 голосов
/ 27 июня 2019

Например, у меня есть строка:

var s = "ABCDEFGHIJKLMN";

Я бы хотел получить массив подстрок длиной от 1 до 5.

Результат, который я ожидаю получить:

["ABCDE", "FGHIJ", "KLMN"]

Я пытался получить результат через регулярное выражение. Вот мой код:

var s = "ABCDEFGHIJKLMN";
var result = s.match(/(.{1,5})+/)

Но я могу получить только последний матч группы вместо всех:

result[1];
"KLMN"

Ответы [ 2 ]

2 голосов
/ 27 июня 2019

Используйте split с группой захвата и удалите пустые строки:

var s = "ABCDEFGHIJKLMN";
var result = s.split(/(.{1,5})/).filter(e => e);
console.log(result);
1 голос
/ 27 июня 2019

Добавьте «g» в конец шаблона:

var s = "ABCDEFGHIJKLMN";
var result = s.match(/.{1,5}/g)
console.log(result)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...