Поиск и замена: готовые шаблоны регулярных выражений
Готовые шаблоны поиска и замены на регулярных выражениях JavaScript: смена формата даты, маскировка телефонов, удаление скобок и пробелов, ссылки на группы $1.
Поиск и замена поддерживает обычный режим и режим регулярных выражений. Обычный режим ищет введённый текст как есть, режим регулярных выражений — по шаблону. В этом руководстве собраны правила режима регулярных выражений и часто используемые шаблоны.
Правила регулярных выражений в этом инструменте
- Синтаксис — регулярные выражения JavaScript, встроенные в браузер.
- Флаги
g(заменить все),m(многострочный режим) иu(Unicode) добавляются автоматически. Если включить «Без учёта регистра», добавляетсяi. - Из-за флага
mсимволы^и$совпадают не с началом и концом всего текста, а с началом и концом каждой строки. - Из-за флага
uлишние обратные слеши вызывают ошибку. Например,\:писать нельзя — нужно:. Зато можно использовать свойства Unicode вроде\p{L}. - В тексте замены
$1,$2— группы в скобках,$&— всё совпадение,$$— один знак$.\nстановится переносом строки,\t— табуляцией. - Если в шаблоне ошибка, шаг не меняет ввод и показывает сообщение об ошибке.
\sсовпадает и с переносом строки. Чтобы искать только пробелы внутри строки, используйте[ \t].
Готовые шаблоны
Ниже шаблоны в формате «что искать → чем заменить». Если замена указана как «(пусто)», оставьте поле пустым.
1. Смена формата даты
(\d{4})-(\d{2})-(\d{2}) → $1.$2.$3
2026-09-23 → 2026.09.23
Чтобы поменять порядок, переставьте номера групп, например $3/$2/$1. Для привычного формата ДД.ММ.ГГГГ используйте $3.$2.$1.
2. Маскировка середины номера мобильного телефона
Этот шаблон рассчитан на корейские мобильные номера (010-xxxx-xxxx); для других форматов поменяйте группы цифр.
(01[016789])-?(\d{3,4})-?(\d{4}) → $1-****-$3
010-1234-5678 → 010-****-5678 01098765432 → 010-****-5432
3. Маскировка начала адреса почты
\b([A-Za-z0-9._%+-]{2})[A-Za-z0-9._%+-]*@ → $1***@
hong.gildong@example.com → ho***@example.com
4. Удаление скобок вместе с содержимым
\s*\([^)]*\) → (пусто)
Москва(головной офис) Казань (филиал) → Москва Казань
Вложенные скобки вроде ((a)) за один проход могут не удалиться.
5. Удаление пробелов в конце строк
[ \t]+$ → (пусто)
6. Три и более пустых строки — в одну
\n{3,} → \n\n
7. Удаление запятых-разделителей тысяч в числах
(\d),(?=\d{3}\b) → $1
1,234,567 руб. → 1234567 руб.
В русской записи разряды обычно разделяют пробелом; чтобы убрать такие пробелы, замените запятую в шаблоне на [ ].
8. Удаление параметров запроса и якоря из URL
(https?:\/\/[^\s?#]+)[?#]\S* → $1
https://example.com/page?utm_source=a#top → https://example.com/page
9. Удаление времени в начале строк переписки
^\[?\d{1,2}:\d{2}(?::\d{2})?\]?[ \t]* → (пусто)
[12:30] Всем привет → Всем привет
10. Перестановка «Фамилия, Имя»
^([^,\n]+),[ \t]*(.+)$ → $2 $1
Иванов, Иван → Иван Иванов
11. Сокращение повторённого слова до одного
\b(\w+)[ \t]+\1\b → $1 (с «Без учёта регистра» ловится и The the; учтите, что \w и \b в JavaScript работают только с латиницей, цифрами и _, поэтому для кириллических слов этот шаблон не сработает)
12. Пробел между хангылем и латиницей
(\p{Script=Hangul})([A-Za-z]) → $1 $2
한글abc → 한글 abc
13. Заключение чисел в квадратные скобки
\d+(?:\.\d+)? → [$&]
Частые ошибки
- Точка (.) как есть: в регулярных выражениях
.означает любой один символ. Чтобы найти точку в конце предложения или в домене, пишите\.. Иначеexample.comсовпадёт и сexampleXcom. - Жадное .\*:
<.*>захватывает в строке всё от первого<до последнего>. Если применить его к<b>x</b> <i>y</i>, исчезнет и текст. Чтобы ловить теги по одному, используйте<[^>]*>или<.*?>. - Знак $ в замене: чтобы вставить
$в режиме регулярных выражений, например в цене, нужно писать$$. В обычном режиме$вставляется буквально. - Поиск спецсимволов как текста: чтобы найти
( ) [ ] + ? *, поставьте перед ними обратный слеш. Если таких знаков много, проще выключить регулярное выражение и искать в обычном режиме.
Обработка нескольких строк сразу
Если добавить в поиск \n, можно найти сам перенос строки. Например, ,\n → , соединяет каждую строку, оканчивающуюся запятой, со следующей. Если цель — удалить строки целиком, Фильтр строк проще регулярного выражения. Для разбиения на строки по предложениям надёжнее критерий «Концу предложения» в Добавление переносов строк (разбиение).
Порядок имеет значение
Шагов поиска и замены в одном конвейере может быть несколько, и они применяются сверху вниз. Результат предыдущего шага становится вводом следующего, поэтому шаблон часто совпадает только после очистки пробелов. Если поставить впереди Удаление пробелов по краям и Сжатие повторных пробелов и табуляций, шаблоны можно писать проще.
Чек-лист
- Для построчных шаблонов используйте
^и$. - Чтобы не выходить за пределы строки, используйте
[ \t]вместо\s. - Проверьте результат; если он неверен, выключите шаг и исправьте шаблон.
Последнее обновление: 2026-09-23