Найти и заменить в тексте

Замена слов и регулярных выражений: все вхождения или только первые N, с учётом регистра, по группам захвата, отдельно по каждой строке. Текст не покидает браузер.

Что заменить

Знак $ — обычный символ. Группы $1 работают в режиме регулярного выражения

Режим строк оставляет переносы на месте, а ^ и $ означают начало и конец строки

Дополнительно
Регулярное выражениеВ поле «Что найти» работает синтаксис регулярных выражений JavaScript
Учитывать регистр«Кот» и «кот» считаются разными словами. Выключите, чтобы заменять оба
Удалять пустые строкиСтроки, опустевшие после замены, в результат не попадают

Исходный текст

Результат

0 замен

Зачем заменять текст массово

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

Инструмент заменяет обычные подстроки и совпадения регулярного выражения. В режиме регулярного выражения работают группы захвата — по ним найденное переставляют местами, меняют местами части даты или переписывают адреса. Счётчик «первые N вхождений» ограничивает замену, когда трогать весь текст не нужно, а флажок регистра решает, считать ли «Кот» и «кот» одним и тем же.

Замена идёт по тексту целиком или по каждой строке отдельно. Второй режим удобен для списков: переносы строк остаются как были, а ^ и $ в шаблоне означают начало и конец строки. Ничего не отправляется на сервер: текст обрабатывается в браузере, а результат можно скопировать или вернуть в поле ввода кнопкой «В исходник».

Частые вопросы

Как заменить слово во всём тексте?

Вставьте текст в поле «Исходный текст», в «Что найти» напишите слово, в «Чем заменить» — новое. Результат появится сразу в панели справа, нажимать ничего не нужно. Заменяются все вхождения, поиск идёт по всему тексту.

Как заменить только первое вхождение или первые N?

В поле «Заменить первые N вхождений» укажите число. «1» заменит только первое совпадение, «5» — первые пять. Пустое поле значит замену всех вхождений. Счётчик общий на весь текст: если обрабатывать каждую строку отдельно, «первые 2» дадут две замены на весь список, а не по две в каждой строке.

Как заменить по маске или шаблону?

Включите «Регулярное выражение» — тогда в поле «Что найти» работает синтаксис регулярных выражений JavaScript. Например, \d+ находит все числа, \s+ — любые цепочки пробелов, [А-Я] — заглавные русские буквы. Если выражение написано с ошибкой, под полем появится сообщение, а текст останется неизменным.

Что такое $1 и $2 в поле замены?

Это группы захвата: в режиме регулярного выражения скобки в шаблоне образуют группы, а в замене на них ссылаются по номеру. Шаблон (\w+)@(\w+) и замена $2.$1 превратят ivan@example в example.ivan. Кроме $1 доступны $& — всё найденное целиком, $<имя> — именованная группа. Без режима регулярного выражения знак $ остаётся обычным символом, и «Итого: $5» запишется как есть.

Почему «Кот» не заменяется, когда я ищу «кот»?

Включён флажок «Учитывать регистр»: «кот», «Кот» и «КОТ» — три разные строки, и найдётся только точное написание. Выключите флажок, чтобы замена не зависела от регистра. Сам регистр найденного в замену не переносится: в поле замены стоит готовый текст. Если исходное написание нужно сохранить, в режиме регулярного выражения подставьте найденное целиком знаком $&.

Чем режим «Каждую строку отдельно» отличается от «Весь текст целиком»?

В режиме «Весь текст целиком» регулярное выражение видит вставку одним куском, и знак . не совпадает с переносом строки, а ^ и $ без флажка указывают на начало и конец всего текста, а не строки. Режим «Каждую строку отдельно» обрабатывает строки по очереди: переносы остаются на месте, а ^ и $ означают начало и конец каждой строки. Разбиение на строки в этом режиме не меняется: строк столько же, сколько было, если не считать удалённых пустых.

Что делает флажок «Удалять пустые строки»?

Он убирает из результата строки, в которых не осталось ни одного символа, кроме пробелов. Это частый побочный эффект замены: слово удалили, и на его месте остался пустой ряд. Флажок работает и без правила — пустое поле «Что найти» его не выключает. Сколько строк пропало, показано под панелями.

Что делать, если менять надо по нескольким правилам сразу?

Замена применяется один раз за проход, поэтому правила вводят по очереди: замените первое слово, нажмите «В исходник» — результат вернётся в поле ввода как исходный текст — и задайте следующее правило. Текст никуда не отправляется, все действия происходят на странице.

Данные отправляются на сервер?

Нет. Поиск и замена выполняются целиком в браузере на JavaScript, текст никуда не передаётся и не сохраняется. Инструментом можно пользоваться офлайн.