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