Від автора: вітаю вас, друзі. Якщо ви не знаєте як швидко і просто перевірити ваше регулярний вираз онлайн, тоді ця стаття саме для вас. У статті ви знайдете кілька онлайн сервісів для перевірки регулярних виразів, які дозволять перевірити шаблон регулярного виразу буквально за лічені секунди. Приступимо?
Насправді подібних сервісів десятки, якщо не сотні в мережі. Однак мені найбільше подобається два онлайн сервісу, які можна знайти за такими адресами.
regexr.com
regexpal.com
Обидва ці сервісу схожі один на одного як візуально, так і функціонально. Найчастіше я на практиці користуюся першою і другою навів просто в якості альтернативи.
Давайте тепер спробуємо скласти шаблон регулярного виразу і протестуємо роботу будь-якого із запропонованих сервісів. Наприклад, нехай перед нами стоїть завдання перевірити логін, в якому ми дозволяємо тільки латинські літери, цифри, символ підкреслення і тире. Якщо в рядку буде присутнім будь-який інший символ, значить такий логін нам не підійде.
Можливий варіант шаблону регулярного виразу буде таким:
Як бачите, виділені тільки логіни, які нам підходять. Тепер Давайте розберемо цей шаблон. Як ви пам’ятаєте, шаблон повинен бути обрамлений роздільниками, в даному випадку це слеші (//).
Після слешів йдуть так звані прапори (ще можна зустріти назви: символи внутрішніх опцій або модифікатори шаблону). Прапор i робить шаблон регістронезавісімий, тобто якщо в шаблоні ми вкажемо маленьку літеру a — вона співпаде як з символом a в нижньому, так і у верхньому регістрі.
Прапор g підтримується в JavaScript. У PHP для регулярних виразів даного прапора немає, але замість нього є функція preg_match_all(). Даний прапор шукає всі збіги в рядку. Без цього прапора буде знайдено тільки перше збіг.
Ну і прапор m забезпечує пошук в мультистрочном режимі. Без цього прапора шаблон працював би тільки з першим рядком тексту.
Всі ці прапори можна вибрати в меню flags в правому верхньому кутку програми.
Йдемо далі. Ми будемо валідувати всю рядок з логіном від початку до кінця. Цього можна домогтися, вказавши якоря ^ (початок рядка) і $ (кінець рядка). Таким чином, якщо у всій рядку від початку до кінця буде хоч один недозволений символ — вся рядок не буде прийматися.
Квадратні дужки — [] — є символьним класом регулярних виразах. В символьному класі можна вказати набір символів, які ми хочемо знайти в рядку. В даному випадку ми дозволяємо латинські літери від a до z (завдяки прапору i дозволяються також літери A-Z верхнього регістра, цифри від 0 до 9, символ підкреслення і тире.
Ну і метасимвол + після символьного класу вказує на допустиму кількість перерахованих в символьному класі символів — це може бути 1 символ і більше (до нескінченності).
Як бачимо, все досить просто. При бажанні ми можемо скоротити регулярний вираз, замінивши його таким варіантом:
Як бачимо, результат не змінився. \w у новому шаблоні відповідає латинських літер, цифр і символу підкреслення.
На цьому будемо завершувати цю статтю. Більше про регулярних виразах ви можете дізнатися з нашого курсу з регулярними виразами. Удачі!