Початковий посібник із регулярних виразів

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

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

Регулярні вирази складаються з комбінації літеральних символів і спеціальних символів, які називаються метасимволами. Ось деякі основні компоненти:

  • Літеральні символи: Це звичайні символи, які відповідають самі собі. Наприклад, регулярний вираз cat відповідає рядку "cat".
  • Метасимволи: Ці символи мають спеціальні значення та використовуються для створення складних шаблонів. Приклади: ., *, +, ?, [], {}, () і |.

Поширені метасимволи

Нижче наведено деякі з найбільш часто використовуваних метасимволів і їхні функції:

  1. . - Відповідає будь-якому одному символу, крім нового рядка.
  2. * – відповідає 0 або більше повторень попереднього елемента.
  3. + - відповідає 1 або більше повторенням попереднього елемента.
  4. ? - відповідає 0 або 1 повторенню попереднього елемента.
  5. [] – використовується для відповідності будь-якому із символів у дужках.
  6. {} – визначає конкретну кількість входжень попереднього елемента.
  7. () - Групує кілька токенів разом і створює групи захоплення.
  8. | – діє як оператор АБО.

Приклади базових візерунків

Давайте розглянемо деякі основні шаблони регулярних виразів на прикладах:

cat

Збігається з рядком "cat" будь-де в тексті.

.at

Збігається з будь-яким рядком, що містить "a", після якого йде будь-який символ, а потім "t". Наприклад, "cat", "bat", "hat".

\d{3}

Точно відповідає трьом цифрам. Наприклад, "123", "456", "789".

[a-z]

Збігається з будь-якою малою літерою від "a" до "z".

(dog|cat)

Відповідає "dog" або "cat".

Використання регулярного виразу в програмуванні

Регулярні вирази підтримуються багатьма мовами програмування. Ось приклади використання регулярного виразу в Python і JavaScript:

Приклад Python

import re

# Search for 'cat' in a string
pattern = r'cat'
text = 'The cat sat on the mat.'
match = re.search(pattern, text)

if match:
    print('Match found:', match.group())
else:
    print('No match found')

Приклад JavaScript

// Search for 'cat' in a string
const pattern = /cat/;
const text = 'The cat sat on the mat.';
const match = text.match(pattern);

if (match) {
    console.log('Match found:', match[0]);
} else {
    console.log('No match found');
}

Висновок

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