Регек Тестер
Тестирајте и отклоните грешке у регуларним изразима одмах у свом претраживачу. Истакните подударања, погледајте групе снимања и користите режим замене — бесплатан и приватан.
Тестирајте и отклоните грешке у регуларним изразима одмах у свом претраживачу. Истакните подударања, погледајте групе снимања и користите режим замене — бесплатан и приватан.
Регуларни изрази су језик специфичан за домен за подударање образаца у тексту. Они су део рачунарства од 1968. године и сада су уграђени у сваки савремени програмски језик, уређивач текста и алат за претрагу командне линије. Синтакса је сажета, али подложна грешкама: мале промене производе суптилно различито понашање подударања, а сложени изрази брзо постају нечитљиви. Тестер који приказује подударања у реалном времену док уређујете образац је најефикаснији начин за развој и верификацију редовног израза.
Овај тестер ради у вашем претраживачу користећи ЈаваСцрипт регек мотор (исти онај који ваша апликација користи ако ради у прегледачу). Обрасци и пробни текст се ажурирају реактивно: свака промена било којег другог поново покреће подударање. Групе подударања су истакнуте, снимљене групе су наведене, а заставице (неосетљиве на велика и мала слова, вишелинијске, глобалне) су изложене за тестирање.
Синтакса редовног израза се суптилно разликује између машина. ЈаваСцрипт прати спецификацију ЕЦМАСцрипт; Питхон, ПЦРЕ (који користе ПХП и многи други), Јава и Го имају своје дијалекте са преклапајућим, али не и идентичним карактеристикама. Паттернс развијени овде користе ЕЦМАСцрипт синтаксу; преносивост између мотора захтева проверу документације сваког циља.
Регек грешке је познато да је тешко отклонити након постављања. Образац који изгледа разумно може одговарати више или мање него што је предвиђено, не успети на рубним случајевима или имати катастрофалан повратак на одређене улазе. Интерактивно тестирање образаца против репрезентативног уноса открива проблеме пре прегледа и производње кода.
Обрасци такође имају користи од документације. Приказивање редовног израза поред уноса који треба да се подудара и уноса са којим не би требало да се подудара чини намеру експлицитном. Будући одржаваоци (укључујући и вас за шест месеци) више цене документоване тестне случајеве него што цене паметне једнолиније.
Откуцајте шаблон, откуцајте пробни унос, погледајте истакнуте утакмице уживо.
ЈаваСцрипт регуларни израз прати ЕЦМАСцрипт спецификацију. Главне карактеристике: класе знакова ([абц], [^абц]), квантификатори (*, +, ?, {н,м}), алтернација (|), груписање ((...)), групе за хватање и нехватање, гледање унапред и гледање иза (модерни мотори), повратне референце, именоване групе, излазне ознаке својстава Уницоде-а (са стандардним скупом у секвенци).
Важне разлике у односу на ПЦРЕ и Питхон: подршка лоокбехинд-а је недавно у ЈаваСцрипт-у (2018+); именоване групе користе (?<наме>...) синтаксу; неки Уницоде есцапе-ови захтевају заставицу у да би исправно функционисала. Обрасце намењене за употребу на више језика треба проверити у односу на документацију сваког циља.
Перформансе: Регекс машине засноване на враћању уназад (већина укључујући ЈаваСцрипт) могу имати катастрофално враћање уназад на одређеним патолошким обрасцима. Тестови који окаче тестер су знак да је шаблону потребно поједностављење — обично избегавањем угнежђених квантификатора и двосмислених промена.