Menu
Coddy logo textTech

Шпаргалка по регулярным выражениям

Последнее обновление

Классы символов

Совпадение с одним символом из набора.

ТокенЧто находит
.Любой символ, кроме перевода строки
\dЛюбую цифру (0-9)
\DЛюбой нецифровой символ
\wСловесный символ (буква, цифра, подчёркивание)
\WЛюбой несловесный символ
\sЛюбой пробельный символ (пробел, табуляция, перевод строки)
[abc]Любой из a, b или c
[a-z]Любую строчную букву из диапазона
[^abc]Любой символ, кроме a, b или c

Квантификаторы

Указывают, сколько раз повторяется предыдущий токен.

ТокенЧто находит
*Ноль или более
+Один или более
?Ноль или один (необязательно)
{3}Ровно 3 раза
{2,4}От 2 до 4 раз
{2,}2 или более раз
*?Ленивый: как можно меньше
+?Ленивый: один или более, минимально

Якоря и границы

Совпадение с позициями, а не с символами.

ТокенЧто находит
^Начало строки (или строки текста)
$Конец строки (или строки текста)
\bГраницу слова
\BПозицию, не являющуюся границей слова
^abc$Строку, равную в точности abc
\bword\bword как отдельное слово

Группы и захват

Группировка токенов и захват того, что они находят.

ТокенЧто находит
(abc)Захватывающую группу, сохраняемую как группа 1
(?:abc)Незахватывающую группу
(?<year>\d{4})Именованную захватывающую группу year
(ab)+Повтор всей группы
\1Обратную ссылку на группу 1
\k<year>Обратную ссылку на именованную группу

Чередование

Совпадение с одним шаблоном или другим.

ТокенЧто находит
a|bЛибо a, либо b
cat|dogСлово cat или dog
(jpg|png|gif)Любую из альтернатив, с захватом
gr(a|e)ygray или grey
^(yes|no)$В точности yes или в точности no

Опережающие и ретроспективные проверки

Утверждают, что идёт до или после, не потребляя это.

ТокенЧто находит
(?=abc)Опережающая проверка: за ним следует abc
(?!abc)Негативная опережающая: за ним не следует abc
(?<=abc)Ретроспективная проверка: ему предшествует abc
(?<!abc)Негативная ретроспективная: ему не предшествует abc
\d+(?= dollars)Цифры, только если за ними следует dollars
(?<=\$)\d+Цифры, только если им предшествует $

Флаги

Изменяют то, как применяется весь шаблон.

ФлагЧто делает
gГлобальный: находит все совпадения, а не только первое
iПоиск без учёта регистра
mМногострочный: ^ и $ совпадают с концами строк
sDotall: . совпадает и с переводами строк
uРежим Unicode
xРасширенный: игнорировать пробелы в шаблоне

Частые шаблоны

Готовые к адаптации шаблоны для повседневной валидации.

ШаблонЧто находит
^\d+$Целое число (только цифры)
^[\w.+-]+@[\w-]+\.[\w.-]+$Базовый адрес email
https?:\/\/[^\s]+URL с http или https
^\d{4}-\d{2}-\d{2}$Дату вида 2026-05-27
^\d{3}-\d{3}-\d{4}$Телефонный номер США
^#?[0-9a-fA-F]{6}$6-значный hex-цвет
\s+Один или более пробельных символов

Каждый токен regex, который вам нужен, на одной странице. Эта шпаргалка по регулярным выражениям - быстрый справочник для построения regex: классы символов, квантификаторы, якоря, группы, чередование, опережающие/ретроспективные проверки и флаги.

Здесь используется распространённый диалект PCRE / JavaScript, на который опирается большинство языков. Скопируйте шаблон или попробуйте его вживую в инструменте-тестере regex, чтобы увидеть, что именно он находит, - а playground для JS всего в одном клике.

Часто задаваемые вопросы по шпаргалке regex

Эта шпаргалка по regex бесплатна?
Да. Эта шпаргалка по регулярным выражениям полностью бесплатна, регистрация не требуется. Добавьте её в закладки и возвращайтесь, когда нужно посмотреть токен, квантификатор или флаг.
В чём разница между жадными и ленивыми квантификаторами?
Жадные квантификаторы вроде * и + совпадают с как можно большим количеством символов, а затем возвращают часть, если остальной части шаблона нужны символы. Ленивые квантификаторы, записываемые добавлением ? (например *? или +?), совпадают с как можно меньшим и расширяются только по необходимости. Например, на <a><b> шаблон <.+> жадно совпадает со всей строкой, а <.+?> - только с <a>.
Что такое захватывающая группа в regex?
Захватывающая группа - это часть шаблона, заключённая в круглые скобки, например (\d{4}), чей найденный текст сохраняется и нумеруется, чтобы его можно было переиспользовать или извлечь. Позже вы ссылаетесь на неё обратной ссылкой вроде \1 или именуете её через (?<year>\d{4}) для ясности. Если нужно сгруппировать токены без захвата, используйте незахватывающую группу (?:...).
Можно ли практиковать regex онлайн?
Да. Откройте инструмент-тестер regex, чтобы ввести шаблон и увидеть, что именно он находит в вашем тексте, прямо в браузере. Также можно вставить любой шаблон в playground для JS, чтобы использовать его в коде. А если нужна структура, бесплатный интерактивный курс Coddy шаг за шагом разбирает базовые элементы.
Подходит ли эта шпаргалка для начинающих?
Да. Она построена от классов символов и квантификаторов (основы) к опережающим проверкам и готовым шаблонам, так что вы сможете находить простой текст сразу и постепенно осваивать сложные выражения.
Coddy programming languages illustration

Изучайте Regex с Coddy

НАЧАТЬ