alltools.one
Development
2026-02-19
10 min
alltools.one Team
regexregular-expressionsdevelopmentpatternsvalidation

Шпаргалка по regex: паттерны, необходимые каждому разработчику

Регулярные выражения кажутся чёрной магией, пока вы не выучите основные паттерны. Как только это произойдёт, они станут незаменимым инструментом для поиска текста, валидации, извлечения данных и манипуляций со строками.

Возьмите паттерн, вставьте его в наш Тестер regex, чтобы поэкспериментировать, и адаптируйте под свои нужды.

Базовый синтаксис regex

Символьные классы

ПаттернЧто совпадаетПример
.Любой символ, кроме новой строкиa.c совпадает с "abc", "a1c"
\dЛюбая цифра (0-9)\d{3} совпадает с "123"
\wСимвол слова (буква, цифра, подчёркивание)\w+ совпадает с "hello_1"
\sПробельный символ\s+ совпадает с пробелами
[abc]Любой из символов a, b или c[aeiou] совпадает с гласными
[^abc]Любой символ, кроме a, b, c[^0-9] совпадает с не-цифрами
[a-z]Любой символ в диапазоне[A-Za-z] совпадает с буквами

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

ПаттернЗначение
*Ноль или более
+Один или более
?Ноль или один
{n}Ровно n раз
{n,m}От n до m раз

Якоря и группы

ПаттернЗначение
^Начало строки
$Конец строки
\bГраница слова
(abc)Захватывающая группа
(?:abc)Незахватывающая группа
a|bАльтернатива (или)
(?=abc)Позитивный просмотр вперёд

Практические паттерны

Валидация email

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Сопоставление URL

https?:\/\/[\w.-]+(?:\.[a-zA-Z]{2,})(?:\/[\w./?%&=-]*)?

Надёжность пароля

Минимум 8 символов, одна заглавная буква, одна строчная, одна цифра, один спецсимвол:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$

Для генерации надёжных паролей используйте наш Генератор паролей.

Шестнадцатеричные цветовые коды

^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$

Конвертируйте между форматами цвета с помощью нашего Конвертера цветов.

Валидация UUID

^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$

Генерируйте валидные UUID с помощью нашего Генератора UUID.

Советы по производительности regex

  1. Будьте конкретны[a-zA-Z] быстрее, чем .
  2. Избегайте катастрофического возврата — Вложенные квантификаторы вроде (a+)+ вызывают экспоненциальное время выполнения
  3. Используйте незахватывающие группы, когда значение не нужно
  4. Привязывайте паттерны^pattern$ быстрее непривязанного поиска
  5. Тестируйте с граничными случаями — Используйте наш Тестер regex перед развёртыванием

Часто задаваемые вопросы

В чём разница между * и +?

* совпадает с нулём или более вхождений, + требует хотя бы одно. Поэтому ab*c совпадает с "ac", а ab+c — нет.

Как сделать regex нечувствительным к регистру?

Используйте флаг i: /pattern/i в JavaScript, re.IGNORECASE в Python.

Связанные ресурсы

Published on 2026-02-19
Regex Cheat Sheet: Patterns Every Developer Needs | alltools.one