Результат
Все вычисления выполняются локально в браузере: разбор, график, экспорт. Если отключите сеть, страница продолжит работать.
Факты и границы применимости
| Режим по умолчанию | Обычный поиск текста, с учётом регистра, без ограничения по целым словам |
|---|---|
| Учитывать регистр | Включено по умолчанию — отключите, чтобы «Собака» и «собака» совпадали одинаково |
| Только целые слова | Оборачивает искомый текст границами слова (\b); игнорируется при включённом режиме регулярного выражения |
| Режим регулярного выражения | Использует поле «найти» как шаблон регулярного выражения JavaScript вместо буквального текста |
| Область замены | Заменяются все вхождения в тексте, а не только первое |
| Некорректный шаблон | В режиме регулярного выражения некорректный шаблон оставляет текст без изменений и показывает 0 замен вместо ошибки |
Когда этот метод вводит в заблуждение
- В обычном режиме специальные символы регулярных выражений, введённые в поле «найти» (например, «.», «*» или «?»), считаются обычными буквальными символами, а не синтаксисом шаблона — включите режим регулярного выражения, если они действительно должны что-то значить.
- «Только целые слова» опирается на простое правило границы слова по буквам, цифрам и подчёркиванию; оно может вести себя неожиданно в тексте с обилием пунктуации или в языках, где «слово» не является чётко выделенной единицей.
- Режим регулярного выражения даёт полную силу (и полный риск) синтаксиса регулярных выражений JavaScript — шаблон, совпадающий с пустой строкой, или шаблон с катастрофическим бэктрекингом на длинном входе может повести себя неожиданно или работать медленно.
- Инструмент ищет и заменяет за один проход по текущему тексту в памяти; он не поддерживает многошаговые или цепочечные замены за один запуск — для второго прохода запустите его ещё раз на результате.
Как это считается
В обычном режиме значение поля «найти» экранируется так, чтобы символы со специальным значением в регулярных выражениях воспринимались буквально, а затем при необходимости оборачивается в \b...\b, если включён поиск только по целым словам.
В режиме регулярного выражения значение «найти» используется как есть для построения шаблона поиска, давая доступ к классам символов, квантификаторам, группам и остальному синтаксису регулярных выражений JavaScript.
Переключатель учёта регистра определяет, добавляется ли к шаблону флаг нечувствительности к регистру «i»; поиск всегда заменяет глобально, то есть все совпадения в тексте, а не только первое.
«Выполнено замен» считает, сколько раз шаблон совпал и был заменён; если поле «найти» пустое или шаблон в режиме регулярного выражения некорректен, текст возвращается без изменений, а счётчик равен 0.
Вопросы и ответы
Что будет, если включить режим регулярного выражения с некорректным шаблоном?
Инструмент перехватывает ошибку внутри себя: текст на выходе остаётся точно таким же, как на входе, а «выполнено замен» показывает 0 — видимой ошибки не возникает.
Работает ли «только целые слова» вместе с режимом регулярного выражения?
Нет, эта опция игнорируется при включённом режиме регулярного выражения — в этом режиме границы слова вы задаёте сами, используя \b прямо в шаблоне.
Поиск по умолчанию учитывает регистр?
Да. Отключите переключатель «учитывать регистр», чтобы «Собака», «собака» и «СОБАКА» совпадали одинаково.
Можно ли использовать группы захвата и обратные ссылки вроде $1?
Да, в режиме регулярного выражения работает стандартный синтаксис замены JavaScript, включая $1, $2 и именованные группы как в шаблоне, так и в тексте замены.
Мой текст куда-то отправляется?
Нет. Всё выполняется в вашем браузере; вставленный текст никогда не загружается.