Без качване, 100% локално, без акаунт

Тестер за регулярни изрази

Въведете шаблон, изберете флагове и тествайте спрямо текста си. Съвпаденията са маркирани вградено. Групите на захващане са изброени за всяко съвпадение. Нищо не напуска браузъра ви.

Как работи Тестер за регулярни изрази

Тестерът за регулярни изрази ви позволява да напишете JavaScript регулярен израз, да поставите примерен текст и да видите всички съвпадения, маркирани в реално време. Групите за захващане се показват в таблица под текста, така че можете да проверите какво е уловила всяка група, без да изпълнявате скрипт. Поддържаните флагове са g (глобален), i (без регистър), m (многоредов), s (dotAll), u (Unicode) и y (sticky). Нищо от въведеното от вас не напуска устройството: механизмът за съвпадение е JavaScript средата за изпълнение, вградена в раздела на браузъра, а не сървър.

Под капака инструментът извиква стандартния конструктор ECMAScript RegExp с шаблона и флаговете, които задавате, след което използва итератора string.matchAll, за да събере всички обекти Match. Таблицата с групи се изгражда директно от тези обекти, така че това, което виждате, е точно онова, което Node.js или браузърът биха върнали в продукционен код, без междинен слой на преобразуване.

Как да използвате Тестер за регулярни изрази, стъпка по стъпка

  1. Въведете или поставете регулярния израз в полето за шаблон.
  2. Включете нужните флагове (g, i, m, s, u, y) с квадратчетата за отметка.
  3. Поставете текста, който искате да тествате, в областта за примера.
  4. Разгледайте маркираните съвпадения в текста и таблицата с групи за захващане по-долу.
  5. Коригирайте шаблона и наблюдавайте как резултатите се обновяват на живо.

Често срещани приложения

  • Проверете дали шаблонът за извличане на имейл адреси правилно обработва гранични случаи като адреси с плюс, преди да го включите в конвейер за данни.
  • Отстранете грешки в именована група за захващане при разбор на редове от журнал, като проверите стойността на всяка група спрямо реален примерен журнал.
  • Потвърдете, че регулярен израз за URL с флаг u обработва правилно имена на домейни с Unicode символи, преди да го добавите в рутер.
  • Тествайте интерактивно шаблон за търсене и замяна, за да проверите дали няма нежелани алчни съвпадения в голям конфигурационен файл.

Често задавани въпроси

Изпраща ли се нещо от въведеното от мен до сървър?

Не. Съвпадението се изпълнява изцяло в раздела на браузъра, като се използва вграденият механизъм JavaScript RegExp. Вашият шаблон, флагове и примерен текст никъде не се предават. Отворете DevTools и проверете раздела Network, докато пишете: никакви заявки не се изпращат.

Кой вариант на регулярни изрази използва тестерът?

ECMAScript (ES2022+) в изпълнението на вашия браузър. Това е същият вариант, използван в Node.js, Deno и съвременните браузъри. Функциите, специфични за PCRE, като lookbehind с променлива дължина или притежателни квантификатори, не се поддържат, въпреки че повечето общи шаблони работят идентично.

Защо получавам грешка за невалиден регулярен израз?

Конструкторът RegExp на браузъра хвърля SyntaxError за шаблони, които не са валидни ECMAScript регулярни изрази. Чести причини: неескейпнато обратно наклонена черта, незатворена група или екраниране на свойство на Unicode (\p{...}) без флага u.

Какво показва таблицата с групи за захващане?

За всяко намерено съвпадение (спрямо флага g) таблицата показва пълното съвпадение, след което всяка номерирана или именована група по ред. Именованите групи се показват с името им като заглавие на колоната. Групи, които не са участвали в съвпадение, се показват като празни.

Мога ли да тествам шаблони с lookbehind?

Да, стига lookbehind с фиксирана или променлива дължина да се поддържа от браузъра ви. Chrome и Firefox поддържат lookbehind с променлива дължина от 2020 г. Safari добави поддръжка през 2022 г. Ако браузърът ви е актуален, трябва да работи.

Работи ли тестерът, ако се изключа от мрежата по средата на сесия?

Да. След като страницата се зареди, всяко съвпадение се изчислява локално от JavaScript механизма на браузъра без зависимост от мрежата. Прекъсването на връзката не прекъсва тестването.