Найти половины слов/словосочетаний, которые состоят из одинаковых частей? Регулярные выражения

Важно использовать одну нумерованную группу или не использовать их совсем.

Пример данных:
мама папа дядя йойо кокос балалайка чуть-чуть

Правильный ответ:
ма па дя йо чуть

Мои попытки:
\b([\w]{2})\1\b|\b(?:[\w]{4}(?=-))\b - находит первую группу, но не захватывает "чуть". Проверил, то что после | \b(?:[\w]{4}(?=-))\b - "чуть" находит.

Далее решил попробовать совсем не использовать нумерованные группы. Написал вот это '\b(?:[\w]{2})\b|\b(?:[\w]{4}(?=-))\b' осталось только чуть. По-видимому тут не обойтись без нумерованной группы для слов из 4 букв (возможно, я не прав). Прошу помощи :)


Ответы (1 шт):

Автор решения: ReinRaus
\b(\w+)-?\1\b

Без обратной ссылки, а значит и сохраняющих групп, регулярное выражение, решающее данную задачу, написать невозможно.

→ Ссылка