Регулярні вирази (regex) — це потужні шаблони для пошуку, зіставлення та витягування тексту. Вони використовуються в програмуванні, перевірці даних, операціях пошуку-заміни та аналізі журналів. Складність полягає в тому, що синтаксис regex буває непростим. Наш безкоштовний Тестер regex дозволяє експериментувати в реальному часі, щоб ви точно бачили, що відповідає вашому шаблону.
Що вам знадобиться
- Шаблон для тестування або задача пошуку тексту для вирішення
- Веб-браузер (Chrome, Firefox, Safari або Edge)
- Жодного облікового запису чи встановлення не потрібно
Покрокова інструкція
Відкрийте Тестер regex
Перейдіть до інструменту Тестер regex. Ви побачите дві основні області: одну для вашого шаблону регулярного виразу та одну для тестового тексту, із яким потрібно зіставити.
Напишіть ваш шаблон regex
Введіть регулярний вираз у поле шаблону. Починайте просто та нарощуйте складність. Наприклад, починайте з буквального слова, як-от hello, для пошуку цього точного тексту, потім уточнюйте шаблон за допомогою спеціальних символів для пошуку ширших шаблонів.
Введіть тестовий текст
Вставте або введіть зразковий текст у тестовій області. Включайте приклади, які мають збігатися, і приклади, які не мають збігатися. Інструмент підсвічує всі збіги в реальному часі під час введення, тому ви одразу бачите, чи ваш шаблон працює правильно.
Уточнюйте та перевіряйте
Налаштовуйте шаблон і спостерігайте, як збіги оновлюються миттєво. Додавайте граничні випадки до тестового тексту — незвичні вхідні дані, граничні умови та складні формати — щоб переконатися, що ваш regex їх правильно обробляє. Коли ви задоволені, скопіюйте шаблон у ваш код або інструмент.
Корисно знати Тестер regex працює повністю у вашому браузері. Жодні дані не надсилаються на жодний сервер, тому ви можете безпечно тестувати шаблони щодо конфіденційного тексту, наприклад адрес електронної пошти, файлів журналів або персональних даних.
Основний синтаксис regex
| Символ | Значення | Приклад |
|---|---|---|
. |
Будь-який одиночний символ | h.t збігається з «hat», «hit», «hot» |
* |
Нуль або більше попередніх | ab*c збігається з «ac», «abc», «abbc» |
+ |
Одне або більше попередніх | ab+c збігається з «abc», «abbc», але не «ac» |
? |
Нуль або одне попереднє | colou?r збігається з «color» і «colour» |
\d |
Будь-яка цифра (0-9) | \d{3} збігається з «123», «456» |
\w |
Будь-який символ слова | \w+ збігається з «hello», «test123» |
\s |
Будь-який пробіл | hello\sworld збігається з «hello world» |
^ |
Початок рядка | ^Hello збігається з «Hello world» |
$ |
Кінець рядка | world$ збігається з «Hello world» |
[abc] |
Будь-який символ із набору | [aeiou] збігається з будь-якою голосною |
(...) |
Група захоплення | (ab)+ збігається з «ab», «abab» |
Поширені шаблони для спроби
Скопіюйте ці шаблони в Тестер regex та поекспериментуйте з ними.
Адреса електронної пошти
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
Збігається зі стандартними форматами email, як-от user@example.com і first.last@company.co.uk. Тестуйте з правильними та неправильними форматами email, щоб побачити, як обробляються граничні випадки.
URL
https?://[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(/[^\s]*)?
Збігається з URL за протоколами HTTP і HTTPS, як-от https://example.com і http://site.org/path/page. s? робить «s» у «https» необов'язковим.
Номер телефону (формат США)
(\+1[-.\s]?)?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}
Збігається з різними форматами номерів США: (555) 123-4567, 555-123-4567, +1 555.123.4567 та подібними варіантами.
Порада При побудові regex починайте з найпростішого шаблону, що збігається з вашим цільовим текстом, і потім поступово додавайте обмеження. Написати складний regex одразу набагато складніше, ніж будувати його поетапно, спостерігаючи оновлення збігів у реальному часі.
Поширені помилки та як їх уникнути
Забування екранувати спеціальні символи. Такі символи, як ., *, +, ?, (, ), [, ], {, } мають спеціальне значення в regex. Щоб збігатися з ними буквально, додайте перед ними зворотний слеш: \. збігається з крапкою, \( — з дужкою.
Занадто «жадібний» пошук. За замовчуванням * і + збігаються з якомога більшою кількістю тексту. Якщо вам потрібен найкоротший збіг, додайте ? після них: .*? збігається з якомога меншою кількістю символів.
Відсутність прив'язки шаблону. Без ^ і $ шаблон на кшталт \d{3} збігатиметься з будь-якими трьома послідовними цифрами в будь-якому місці рядка, включаючи всередині довших чисел. Використовуйте прив'язки, коли потрібно збігатися з усім рядком.
Важливо Синтаксис regex дещо відрізняється між мовами програмування та інструментами. Шаблон, що працює в JavaScript, може поводитися інакше в Python або PHP. Завжди тестуйте остаточний шаблон у мові або середовищі, де будете його використовувати.
Часті запитання
Що таке прапорці regex?
Прапорці змінюють спосіб застосування шаблону. Поширені прапорці: g (глобальний — знаходить усі збіги, а не лише перший), i (без урахування регістру) та m (багаторядковий — ^ і $ збігаються з межами рядків, а не лише рядка). Тестер regex дозволяє перемикати ці прапорці.
Чи можна використовувати regex для пошуку та заміни?
Так. Більшість текстових редакторів і мов програмування підтримують пошук і заміну на основі regex. Групи захоплення (...) дозволяють посилатися на знайдений текст у рядку заміни.
Як збігатися по кількох рядках?
Використовуйте прапорець s (dotall), щоб . збігався з символами нового рядка, або використовуйте [\s\S] як кросплатформний альтернатив, що збігається з будь-яким символом, включаючи нові рядки.
Наступні кроки
Тепер, коли ви вмієте будувати та тестувати шаблони regex, спробуйте використовувати їх у вашому коді, текстовому редакторі або інструментах командного рядка. Для інших утиліт розробника ознайомтеся з Парсером cron для виразів планування або Форматером JSON для роботи зі структурованими даними.