Text/Clean

Поиск и замена: готовые шаблоны регулярных выражений

Готовые шаблоны поиска и замены на регулярных выражениях 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