Справочный раздел

Регулярные выражения: синтаксис и примеры

Классы символов, повторения, группы, проверки и флаги JavaScript RegExp с примерами совпадений.

JavaScript RegExp

Шаблон, совпадение и назначение

Нажмите на выражение, чтобы скопировать литерал /шаблон/флаги целиком. Подсветка показывает совпавшую часть строки.

Регулярные выражения JavaScript с совпадениями и пояснениями
Выражение Строка и совпадение Когда использовать
Символы и классыЛитеральный текст, любой знак и наборы допустимых символов. 6
black cat
Точный текст Находит последовательность символов без специальных правил.
cat, cut
Любой символ Точка заменяет один символ, кроме перевода строки без флага s.
Anna и Bob
Класс и диапазон Квадратные скобки задают один допустимый символ; дефис — диапазон.
123 яблока
Исключающий класс Знак ^ сразу после [ выбирает всё, кроме перечисленных символов.
Код: 42 ready
Сокращённые классы \d — цифра, \s — пробельный символ, \w — латинская буква, цифра или _.
Привет, hello
Unicode-свойство \p{L} находит буквы любых алфавитов при включённом Unicode-режиме. Нужен флаг u
ПовторенияКоличество повторений предыдущего символа, класса или группы. 6
ac, abbc
Ноль или больше: * Предыдущий элемент может отсутствовать или повторяться сколько угодно раз.
ac, abbc
Один или больше: + Предыдущий элемент должен встретиться хотя бы один раз.
color, colour
Необязательный элемент: ? Предыдущий элемент встречается ноль или один раз.
Год: 2026
Точное количество: {n} Фигурные скобки задают точное число повторений.
7, 42, 2026
Диапазон количества: {n,m} Ограничивает минимальное и максимальное число повторений.
<b>текст</b>
Ленивое повторение Знак ? после квантификатора выбирает минимально возможный фрагмент. Без ? совпадение было бы одним
Границы и группыНачало и конец строки, варианты и объединение частей шаблона. 6
Error: файл не найден
Начало строки: ^ Проверяет, что совпадение начинается в начале текста или строки с флагом m.
Задача done
Конец строки: $ Проверяет, что совпадение заканчивается в конце текста или строки с флагом m.
cat, catalog
Граница слова: \b Отделяет самостоятельное ASCII-слово от соседних букв, цифр и подчёркивания.
cat или dog
Альтернатива: | Вертикальная черта разрешает один из нескольких вариантов.
Дата: 2026-07-21
Захватывающая группа Круглые скобки объединяют шаблон и сохраняют совпавшие части.
https://example.com
Незахватывающая группа (?:…) группирует часть шаблона, не добавляя её в массив захватов.
Проверки и ссылкиУсловия вокруг совпадения и повторное использование захваченного текста. 4
Цена: 120
Позитивная проверка вперёд (?=…) требует продолжение справа, но не включает его в совпадение.
foo, foobar
Негативная проверка вперёд (?!…) запрещает указанное продолжение справа.
#topic
Позитивная проверка назад (?<=…) требует текст слева, не включая его в совпадение.
это very very важно
Именованная обратная ссылка Сохраняет группу по имени и находит повтор того же текста.
ФлагиРежимы поиска, которые записываются после закрывающего слеша. 5
cat, cat, cat
Все совпадения: g Продолжает поиск после первого найденного фрагмента.
Textria
Без учёта регистра: i Сопоставляет прописные и строчные варианты букв.
TODO: проверить
готово
TODO: отправить
Многострочный режим: m Заставляет ^ и $ работать у границ каждой строки.
start
новая строка
end
Точка включает переносы: s Позволяет точке совпадать с символами перевода строки.
💡
Unicode-режим: u Обрабатывает полный кодовый пункт как один символ и включает \p{…}.
Короткая памятка

Собирайте предсказуемые шаблоны

Экранируйте метасимволы
Поставьте обратную косую черту перед . * + ? ( ) [ ] { } ^ $ | \, если знак нужен буквально.
Выбирайте флаги осознанно
g включает все совпадения, m меняет якоря, s — точку, u — обработку Unicode.
Сужайте шаблон
Предпочитайте явные классы и ограничения широкому .*, если формат строки известен.
Проверяйте крайние случаи
Тестируйте пустую строку, переносы, нелатинский текст, длинные и почти подходящие значения.

Синтаксис сверен со ECMAScript RegExp specification. В других движках регулярных выражений синтаксис может отличаться.

Открыть онлайн-блокнот
Связанные инструменты

Продолжите работу с текстом

Скопируйте символ, преобразуйте разметку, очистите фрагмент или сохраните результат в блокноте.

FAQ

Вопросы о регулярных выражениях

Почему справочник посвящён именно JavaScript?

Движки регулярных выражений различаются синтаксисом и поведением. Здесь используются литералы RegExp, флаги, Unicode-свойства, именованные группы и проверки из ECMAScript.

Что означают слеши вокруг шаблона?

В записи /шаблон/флаги слеши ограничивают литерал RegExp в JavaScript. В new RegExp() шаблон и флаги передаются строками, поэтому обратные косые черты нужно дополнительно экранировать.

Почему .* захватывает слишком много?

По умолчанию квантификаторы жадные. Добавьте ? для ленивого режима или используйте более узкий класс символов, который не пересекает нужную границу.

Может ли регулярное выражение работать медленно?

Да. Неоднозначные вложенные повторения могут вызвать большое число возвратов на длинной строке. Разделяйте варианты, ограничивайте повторы и проверяйте шаблон на худших входных данных.