development

Регулярні вирази: повний гайд для початківців

17 лютого 2026 1 хв читання 589 перегляди
Регулярні вирази: повний гайд для початківців

Регулярні вирази (regex або regexp) — це потужний інструмент для пошуку, заміни та валідації тексту за допомогою шаблонів. Вони використовуються у всіх мовах програмування, текстових редакторах та командному рядку. Хоча regex можуть виглядати складно на перший погляд, базові концепції досить прості. У цьому гайді ми пройдемо від основ до просунутих технік.

Що таке регулярні вирази

Регулярний вираз — це послідовність символів, що описує шаблон тексту. Наприклад, вираз \d{3}-\d{2}-\d{2} описує телефонний номер формату "123-45-67". Замість пошуку конкретного тексту, regex дозволяє шукати за шаблоном — будь-який текст, що відповідає заданому формату.

Regex підтримуються у всіх основних мовах програмування: JavaScript, Python, PHP, Java, C#, Go, Ruby та інших. Синтаксис здебільшого однаковий, хоча є невеликі відмінності між реалізаціями.

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

Літеральні символи

Найпростіший регулярний вираз — це просто текст. Вираз hello знайде слово "hello" у тексті. Більшість символів відповідають самі собі.

Метасимволи

Спеціальні символи мають особливе значення в regex:

  • . — будь-який один символ (крім нового рядка)
  • ^ — початок рядка
  • $ — кінець рядка
  • \d — будь-яка цифра (0-9)
  • \w — будь-яка літера, цифра або підкреслення
  • \s — пробільний символ (пробіл, табуляція, новий рядок)
  • \b — межа слова

Великі літери означають протилежність: \D — не цифра, \W — не літера, \S — не пробіл.

Символьні класи

Квадратні дужки визначають набір символів:

  • [abc] — символ a, b або c
  • [a-z] — будь-яка мала латинська літера
  • [A-Z0-9] — велика літера або цифра
  • [^abc] — будь-який символ крім a, b, c
  • [а-яА-ЯіІїЇєЄґҐ] — українські літери

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

Квантифікатори визначають кількість повторень:

  • * — 0 або більше разів
  • + — 1 або більше разів
  • ? — 0 або 1 раз
  • {3} — рівно 3 рази
  • {2,5} — від 2 до 5 разів
  • {3,} — 3 або більше разів

Приклади: \d+ — одна або більше цифр, [a-z]{2,4} — від 2 до 4 малих літер.

Групи та альтернативи

Групування

Круглі дужки () групують частини виразу та захоплюють знайдений текст:

  • (\d{2})-(\d{2})-(\d{4}) — дата з трьома групами (день, місяць, рік)
  • (?:abc) — група без захоплення (для швидкості)

Альтернативи

Символ | означає "або":

  • cat|dog — "cat" або "dog"
  • (Mon|Tue|Wed|Thu|Fri) — будь-який робочий день

Типові шаблони

Email адреса

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

URL

https?://[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(/[^\s]*)?

Телефон (Україна)

\+?380[\s-]?\d{2}[\s-]?\d{3}[\s-]?\d{2}[\s-]?\d{2}

IPv4 адреса

\b(?:\d{1,3}\.){3}\d{1,3}\b

Дата (DD.MM.YYYY)

(?:0[1-9]|[12]\d|3[01])\.(?:0[1-9]|1[0-2])\.\d{4}

Lookahead та Lookbehind

Просунуті конструкції для перевірки контексту без включення його в результат:

  • (?=...) — позитивний lookahead: текст після має відповідати шаблону
  • (?!...) — негативний lookahead: текст після НЕ має відповідати
  • (?<=...) — позитивний lookbehind: текст перед має відповідати
  • (? — негативний lookbehind: текст перед НЕ має відповідати

Приклад: \d+(?= грн) — знайде числа перед " грн" (100 грн → захопить "100").

Прапорці (модифікатори)

  • i — нечутливий до регістру (case-insensitive)
  • g — глобальний пошук (знайти всі збіги, не тільки перший)
  • m — багаторядковий режим (^ та $ працюють для кожного рядка)
  • s — крапка . також збігається з новим рядком

Поради для ефективного використання

  • Починайте з простого — спочатку напишіть базовий шаблон, потім ускладнюйте
  • Тестуйте на різних даних — перевіряйте як позитивні, так і негативні випадки
  • Уникайте жадібності — використовуйте *? та +? для лінивих квантифікаторів
  • Коментуйте складні вирази — використовуйте прапорець x для readable regex
  • Не парсіть HTML регулярними виразами — використовуйте DOM parser

Практика: тестуйте regex онлайн

Найкращий спосіб вивчити regex — практика. Скористайтеся нашим тестером регулярних виразів — він підсвічує збіги в реальному часі та допомагає зрозуміти, як працює ваш шаблон.

Висновок

Регулярні вирази — незамінний інструмент для будь-якого розробника. Вони дозволяють ефективно шукати, валідувати та трансформувати текст. Почніть з простих шаблонів, поступово вивчайте нові конструкції, і з часом regex стане вашим потужним союзником у роботі з текстовими даними.

Будьте в курсі

Отримуйте сповіщення про нові статті, інструменти та оновлення.

AI Xuvero

Не йдіть! Отримайте більше

Зареєструйтесь безкоштовно — збережіть результати, отримайте 10 використань на день та доступ до всіх інструментів.

Зареєструватися безкоштовно