Фрее Цонвертер

Регек Тестер

Тестирајте и отклоните грешке у регуларним изразима одмах у свом претраживачу. Истакните подударања, погледајте групе снимања и користите режим замене — бесплатан и приватан.

//g
Заставе:

О овом алату

Регуларни изрази су језик специфичан за домен за подударање образаца у тексту. Они су део рачунарства од 1968. године и сада су уграђени у сваки савремени програмски језик, уређивач текста и алат за претрагу командне линије. Синтакса је сажета, али подложна грешкама: мале промене производе суптилно различито понашање подударања, а сложени изрази брзо постају нечитљиви. Тестер који приказује подударања у реалном времену док уређујете образац је најефикаснији начин за развој и верификацију редовног израза.

Овај тестер ради у вашем претраживачу користећи ЈаваСцрипт регек мотор (исти онај који ваша апликација користи ако ради у прегледачу). Обрасци и пробни текст се ажурирају реактивно: свака промена било којег другог поново покреће подударање. Групе подударања су истакнуте, снимљене групе су наведене, а заставице (неосетљиве на велика и мала слова, вишелинијске, глобалне) су изложене за тестирање.

Синтакса редовног израза се суптилно разликује између машина. ЈаваСцрипт прати спецификацију ЕЦМАСцрипт; Питхон, ПЦРЕ (који користе ПХП и многи други), Јава и Го имају своје дијалекте са преклапајућим, али не и идентичним карактеристикама. Паттернс развијени овде користе ЕЦМАСцрипт синтаксу; преносивост између мотора захтева проверу документације сваког циља.

Зашто користити регек тестер

Регек грешке је познато да је тешко отклонити након постављања. Образац који изгледа разумно може одговарати више или мање него што је предвиђено, не успети на рубним случајевима или имати катастрофалан повратак на одређене улазе. Интерактивно тестирање образаца против репрезентативног уноса открива проблеме пре прегледа и производње кода.

Обрасци такође имају користи од документације. Приказивање редовног израза поред уноса који треба да се подудара и уноса са којим не би требало да се подудара чини намеру експлицитном. Будући одржаваоци (укључујући и вас за шест месеци) више цене документоване тестне случајеве него што цене паметне једнолиније.

Како користити

Откуцајте шаблон, откуцајте пробни унос, погледајте истакнуте утакмице уживо.

  1. Унесите свој образац: Откуцајте образац регуларног израза у поље за образац. И литерални регуларни израз (/узорак/заставице) и облици који садрже само образац раде; заставице се могу подесити преко флагс улаза.
  2. Додајте пробни унос: Налепите пример текста који образац треба да одговара (а идеално би било и текст који не би требало да се подудара). Тестер покреће образац према улазу и истиче подударања.
  3. Поставите заставице: Уобичајене заставице: г (глобално, пронађи сва подударања), и (неосетљиво на велика и мала слова), м (више редова, ^ и $ подударају се линија почиње/завршава), с (доталл, . одговара новим редовима), у (Уницоде).
  4. Прегледајте резултате: Свако подударање је истакнуто у уносу. Групе снимања се појављују на листи са индексом групе и вредношћу. Тестер такође приказује број подударања и све грешке у компилацији у шаблону.

Уобичајени случајеви употребе

Тецхницал Детаилс

ЈаваСцрипт регуларни израз прати ЕЦМАСцрипт спецификацију. Главне карактеристике: класе знакова ([абц], [^абц]), квантификатори (*, +, ?, {н,м}), алтернација (|), груписање ((...)), групе за хватање и нехватање, гледање унапред и гледање иза (модерни мотори), повратне референце, именоване групе, излазне ознаке својстава Уницоде-а (са стандардним скупом у секвенци).

Важне разлике у односу на ПЦРЕ и Питхон: подршка лоокбехинд-а је недавно у ЈаваСцрипт-у (2018+); именоване групе користе (?<наме>...) синтаксу; неки Уницоде есцапе-ови захтевају заставицу у да би исправно функционисала. Обрасце намењене за употребу на више језика треба проверити у односу на документацију сваког циља.

Перформансе: Регекс машине засноване на враћању уназад (већина укључујући ЈаваСцрипт) могу имати катастрофално враћање уназад на одређеним патолошким обрасцима. Тестови који окаче тестер су знак да је шаблону потребно поједностављење — обично избегавањем угнежђених квантификатора и двосмислених промена.

Најбоље праксе

Често постављана питања

Који укус регуларног израза подржава овај алат?
Користи уграђени ЈаваСцрипт механизам за РегЕкп, који подржава стандардну синтаксу укључујући лоокахеадс, лоокбехиндс (у модерним прегледачима), именоване групе за снимање и Уницоде својства есцапе-а.
Могу ли да тестирам замене регуларних израза?
Да. Пребаците се на режим замене да бисте унели образац замене. Можете да користите $1, $2, итд. за снимање повратних референци групе, и $<наме> за именоване групе.
Зашто се мој регуларни израз овде подудара другачије него у Питхон/ПХП-у?
Различити програмски језици имају мало различите механизме за регуларне изразе. ЈаваСцрипт не подржава посесивне квантификаторе или неке карактеристике специфичне за ПЦРЕ. Основна синтакса (класе знакова, квантификатори, групе) је иста у свим језицима.
Да ли алат чува моје обрасце регуларног израза?
Не. Ништа се не чува нити преноси. Алат ради у потпуности у вашем претраживачу. Можете да обележите или делите обрасце копирањем низа регуларног израза.
Како да ускладим буквални специјални знак?
Избегните га обрнутом косом цртом. За подударање са дословном тачком: \. Да бисте ускладили буквалну обрнуту косу црту: \\. Унутар класа знакова [...], већина специјалних знакова губи своје значење.
Да ли тестер ради на серверу?
Не. Компилација и упаривање шаблона се дешавају у вашем претраживачу користећи изворни објекат РегЕкп.
Могу ли да тестирам обрасце за машине које нису ЈаваСцрипт?
Углавном. За једноставне обрасце, главни мотори се слажу. За напредне функције (лоокбехинд, атомске групе, посесивни квантификатори, Уницоде својства есцапе-а), потврдите у документацији циљне машине.
Да ли подноси веома велики унос?
До неколико мегабајта ради глатко. Већи уноси могу да успоре или закаче прегледач, посебно са обрасцима склоним враћању уназад.