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