Я хочу определить строки, которые состоят исключительно из групп символов одинаковой длины. Каждая из этих групп состоит по крайней мере из двух одинаковых символов. Итак, вот несколько примеров:
aabbcc true
abbccaa false
xxxrrrruuu false (too many r's)
xxxxxfffff true
aa true (shortest possible positive example)
aabbbbcc true // I added this later to clarify my intention
@ilkkachu: Спасибо за ваше замечание относительно повторения той же группы персонажей. Я добавил пример выше. Да, я хочу, чтобы последний образец был проверен как истинный: строка, состоящая из двух буквенных групп aa, bb, bb, cc
.
Есть ли простой способ применить это условие - проверить строку, используя регулярные выражения и JavaScript?
Моя первая попытка состояла в том, чтобы сделать что-то вроде
var strarr=['aabbcc','abbccaa','xxxrrrruuu',
'xxxxxfffff','aa','negative'];
var rx=/^((.)\2+)+$/;
console.log(strarr.map(str=>str+': '+!!str.match(rx)).join('\n'));
Он ищет группы повторяющихся символов, но еще не обращает внимания на то, что эти группы имеют одинаковую длину, как показывает результат:
aabbcc: true
abbccaa: false
xxxrrrruuu: true // should be false!
xxxxxfffff: true
aa: true
aabbbbcc: true
negative: false
Как получить проверку для поиска групп символов одинаковой длины?