Как работает шаблон
| Часть | Значение |
|---|---|
\b(\w+) | Одно целое слово, захваченное как группа 1 |
\s+ | Пробельные символы |
\1\b | Обратная ссылка: то же самое слово ещё раз |
i flag | «The the» считается дубликатом |
→ $1 | Заменяется одной копией |
Примеры кода
JavaScript
const out = text.replace(/\b(\w+)\s+\1\b/gi, "$1");Python
import re
out = re.sub(r'\b(\w+)\s+\1\b', r'\1', text, flags=re.I)PHP
$out = preg_replace('/\b(\w+)\s+\1\b/i', '$1', $text);
Примечания и ограничения
Отлично подходит для корректуры. Некоторые повторы намеренные («had had», «that that»), поэтому просматривайте совпадения перед тем, как заменять все разом.
Тестер регулярных выражений
Введите шаблон и смотрите, как совпадения подсвечиваются прямо в тестовом тексте.
Часто задаваемые вопросы
Какое регулярное выражение находит повторяющиеся слова?
/\b(\w+)\s+\1\b/gi — используется с поиском и заменой. В таблице выше описано, что делает каждая часть.
Работает ли это в Python и PHP?
Да — примеры кода выше используют тот же шаблон с re в Python и функциями preg в PHP.
Как протестировать это регулярное выражение?
Нажмите «Открыть в Regex Tester» — шаблон, флаги и образец текста загрузятся автоматически, а совпадения будут подсвечиваться по мере редактирования.