Початковий посібник із регулярних виразів
Регулярні вирази, широко відомі як регулярні вирази або регулярні вирази, — це послідовності символів, які формують шаблони пошуку. Вони в основному використовуються для зіставлення рядків і маніпуляцій. Regex може бути неймовірно потужним для пошуку, заміни та вилучення даних із тексту.
Базовий синтаксис
Регулярні вирази складаються з комбінації літеральних символів і спеціальних символів, які називаються метасимволами. Ось деякі основні компоненти:
- Літеральні символи: Це звичайні символи, які відповідають самі собі. Наприклад, регулярний вираз
cat
відповідає рядку "cat". - Метасимволи: Ці символи мають спеціальні значення та використовуються для створення складних шаблонів. Приклади:
.
,*
,+
,?
,[]
,{}
,()
і|
.
Поширені метасимволи
Нижче наведено деякі з найбільш часто використовуваних метасимволів і їхні функції:
.
- Відповідає будь-якому одному символу, крім нового рядка.*
– відповідає 0 або більше повторень попереднього елемента.+
- відповідає 1 або більше повторенням попереднього елемента.?
- відповідає 0 або 1 повторенню попереднього елемента.[]
– використовується для відповідності будь-якому із символів у дужках.{}
– визначає конкретну кількість входжень попереднього елемента.()
- Групує кілька токенів разом і створює групи захоплення.|
– діє як оператор АБО.
Приклади базових візерунків
Давайте розглянемо деякі основні шаблони регулярних виразів на прикладах:
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');
}
Висновок
Регулярні вирази є потужним інструментом для обробки тексту та вилучення даних. Розуміючи базовий синтаксис і загальні шаблони, ви можете почати використовувати регулярні вирази у своїх проектах, щоб оптимізувати та розширити свої можливості роботи з текстом. Практикуйте з різними шаблонами та досліджуйте розширені функції регулярних виразів, щоб стати більш досвідченим.