Regex Tester

Перевірка регулярного виразу на вашому тексті, усі збіги й групи та пояснення шаблону частина за частиною — просто в браузері.

Про Regex Tester

Що це

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

Основні можливості

  • Підсвічування збігів наживо зі списком збігів і груп, зокрема іменованих.
  • Прапорці g, i, m і s.
  • Розбір шаблону звичайними словами.
  • Режим заміни з $1 та іменованими групами в підстановці.
  • Unit-тести: рядки, що мають збігатися, і рядки, що не мають.
  • Готові шаблони для email, телефону, IPv4, IPv6, UUID, URL і HTML-тегів, а також код для JavaScript чи Python.

Як користуватися

  1. Введіть шаблон і текст або натисніть «Приклад» чи оберіть щось у «Шаблони».
  2. Увімкніть потрібні прапорці й перегляньте збіги та групи.
  3. Відкрийте «Заміна», щоб спробувати підстановку, або «Unit-тести», щоб перелічити рядки, які мають і не мають збігатися.
  4. Натисніть «Використати як код», щоб скопіювати шаблон для JavaScript чи Python.

Коли корисно

  • Витягнути з логу ID, адреси email чи дати.
  • Перевірити шаблон валідації, перш ніж ставити його у форму.
  • Зрозуміти регулярний вираз, який написав хтось інший.

Конфіденційність та обмеження

Ваші дані

Ваші шаблон і текст обробляються в браузері й не надсилаються на сервер — сайт отримує лише анонімну подію «інструмент відкрито», без вмісту. Результат, надісланий в інший інструмент, зберігається на цьому пристрої 24 години в «Останніх діях». Посилання «Поділитися» містить шаблон і текст у самій адресі, тож надсилайте його лише тим, кому довіряєте.

Обмеження

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

Поширені запитання

Який діалект регулярних виразів використовується?

JavaScript, як у браузерах і Node.js. Більшість шаблонів так само працюють у Python, Java чи PHP, але перевірте прапорці й підтримку lookbehind у потрібній мові.

Навіщо unit-тести?

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

Чому мій вираз зупинено?

Він працював задовго — зазвичай вкладені квантифікатори на кшталт (a+)+ змушують рушій перебирати величезну кількість варіантів. Інструмент зупиняє його у фоні; перепишіть цю частину конкретніше.