Дужки в регулярних виразах

394

Від автора: вітаю вас, друзі. У цій статті ми з вами поговоримо про дужках у регулярних виразах. Регулярні вирази пропонують нам три види дужок: звичайні дужки — (), квадратні дужки — [] і фігурні дужки — {}. Приступимо?

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

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

Візьмемо простий приклад, необхідно знайти слово gray. В принципі, все просто, можна просто написати це слово цілком в якості шаблону. Однак не все так просто, адже слово gray часто пишуть дещо інакше — grey (через літеру e замість a). Це також допустимий варіант. Відповідно, в регулярці необхідно вказати альтернативу — a|e. Спробуємо:

Дужки в регулярних виразах

Упс… Трохи не те. Вся справа в тому, що символ альтернативи — | — бере в якості варіантів все, що знаходиться ліворуч і праворуч від нього. Як же нам вказати, що в якості альтернативи потрібно взяти лише по одній букві праворуч і ліворуч? Ось тут і знадобляться круглі дужки, які проведуть необхідну угруповання.

Дужки в регулярних виразах

А ось тепер все добре. Крім того даний вид дужок дозволяє запам’ятовувати знайдене. Оскільки таких груп може бути кілька, вони нумеруються. Відповідно, в даному випадку запомненная частина буде доступна змінної під номером один — $1:

Дужки в регулярних виразах

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

Дужки в регулярних виразах

Ну і, нарешті, розглянемо останній вид дужок, фігурні — {}. Вони призначені для зазначення кількості символу(ів), який стоїть перед дужками. При цьому ми можемо вказати мінімальне і максимальне кількість прийнятих символів. Також можемо вказати точну кількість. Наприклад, ми приймаємо логіни, довжина яких знаходиться в діапазоні від 6 до 10 символів. Візьмемо попередній приклад і трохи доповнимо його, вказавши кількість символів після першого — {5,9}:

Дужки в регулярних виразах

Як бачимо, останній варіант не пройшов перевірку, оскільки містить більше 10 символів. Все просто і красиво.

Ну а на цьому у мене все. Більше про регулярних виразах ви можете дізнатися з нашого курсу з регулярними виразами. Удачі!