Перейти до основного вмісту
LibraTool logoLibraTool

Тестер регулярних виразів — безкоштовно

Тестуйте регулярні вирази на тексті у реальному часі. Дивіться виділені збіги, групи та деталі збігів.

Працює офлайн після завантаження
//g
Прапорці:

g Глобально - знайти всі збіги · i Без урахування регістру · m Багаторядковий - ^ та $ співпадають з межами рядків · s Dotall - крапка співпадає з новим рядком · u Unicode - повна відповідність кодових точок · y Sticky - кожен збіг повинен починатися там, де закінчився попередній

Приклади:

Збіги

The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs.Введіть шаблон вище, щоб побачити збіги з підсвічуванням.

Типові застосування

  • Тестування Regex для Перевірки ФормиНапишіть та протестуйте регулярні вирази для перевірки електронної пошти, номерів телефонів, поштових кодів та інших даних форми.
  • Аналіз Журналів Сервера за допомогою RegexНапишіть шаблони regex для видобування мітки часу, IP-адрес, кодів помилок та структурованих даних з файлів журналу.
  • Витягніть та Замініть Текст за допомогою RegexВикористовуйте regex для пошуку шаблонів, видобування даних або підготовки операцій пошуку та заміни перед їх запуском у вашому редакторі.
  • Тестування Шаблонів Маршрутизації URLНапишіть та протестуйте шаблони regex для правил маршрутизації URL в Express, Nginx та Apache.
  • Витягніть Дані за допомогою RegexПобудуйте та протестуйте шаблони для видобування структурованих даних з неструктурованого тексту, HTML або markdown.

Як це працює

Інструмент працює повністю у вашому браузері на вбудованому в JavaScript рушії RegExp — тому самому, що обслуговує кожен скрипт на кожному сайті, який ви відвідуєте. Жоден шаблон, тестовий текст чи результат збігу не надсилається на сервер.

  1. 1
    Шаблон компілюється в RegExp
    Під час введення інструмент викликає new RegExp(pattern, flags) з увімкненими прапорцями (g, i, m, s, u, y). Якщо шаблон синтаксично некоректний, перехоплене повідомлення про помилку одразу показується поруч — кнопка надсилання не потрібна.
  2. 2
    Цикл exec() збирає збіги
    Рушій виконує re.exec(text) у циклі, записуючи для кожного збігу індекс символу, довжину, повне значення, нумеровані групи захоплення й будь-які іменовані групи. Запобіжне обмеження в 10,000 збігів зупиняє неконтрольовані шаблони, а захист від збігів нульової довжини пересуває lastIndex, щоб уникнути нескінченних циклів.
  3. 3
    Текст ділиться на підсвічені фрагменти
    Функція buildSegments проходить зміщення збігів і нарізає вихідний текст на почергові фрагменти без збігу й зі збігом. Фрагменти зі збігом обгортаються в елементи <mark> з кольорами, що чергуються, тож сусідні чи накладені збіги залишаються візуально різними.
  4. 4
    Режим заміни через String.replace
    Перемикання в режим заміни напряму викликає testText.replace(new RegExp(pattern, flags), replacement), тож посилання на кшталт $1 і $<name> працюють точно як у коді JavaScript. Результат показується наживо, і його можна скопіювати в буфер обміну.

Схожі інструменти

Часті запитання