Regex Tesztelő
A reguláris kifejezések azonnali tesztelése és hibakeresése a böngészőben. Emelje ki az egyezéseket, tekintse meg a rögzítési csoportokat, és használja a csere módot – ingyenes és privát.
A reguláris kifejezések azonnali tesztelése és hibakeresése a böngészőben. Emelje ki az egyezéseket, tekintse meg a rögzítési csoportokat, és használja a csere módot – ingyenes és privát.
A reguláris kifejezések egy tartomány-specifikus nyelv a szövegben található minták egyeztetésére. 1968 óta részei a számítástechnikának, és mára minden modern programozási nyelvbe, szövegszerkesztőbe és parancssori keresőeszközbe beépülnek. A szintaxis tömör, de hibára hajlamos: a kis változtatások finoman eltérő egyezési viselkedést eredményeznek, és az összetett kifejezések gyorsan olvashatatlanná válnak. Egy tesztelő, amely valós időben mutatja az egyezéseket a minta szerkesztése közben, a leghatékonyabb módja a regex fejlesztésének és ellenőrzésének.
Ez a tesztelő az Ön böngészőjében a JavaScript regex motor használatával fut (ugyanaz, amelyet az alkalmazás használja, ha böngészőben fut). A minták és a tesztszöveg reaktív frissítése: bármelyik módosítása újrafutja a mérkőzést. Az egyezési csoportok kiemelve, a rögzített csoportok listája, a jelzők (kis- és nagybetűk megkülönböztetése, többsoros, globális) pedig tesztelésre láthatók.
A Regex szintaxisa motoronként finoman változik. A JavaScript követi az ECMAScript specifikációt; A Python, a PCRE (a PHP és sok más által használt), a Java és a Go mindegyiknek megvan a maga dialektusa, átfedő, de nem azonos jellemzőkkel. Az itt kifejlesztett minták ECMAScript szintaxist használnak; A motorok közötti hordozhatóság megköveteli az egyes célpontok dokumentációjának ellenőrzését.
A Regex hibákat köztudottan nehéz hibakeresni a telepítés után. Egy ésszerűnek tűnő minta a tervezettnél többet vagy kevésbé egyezhet, meghibásodhat a szélső esetekben, vagy bizonyos bemeneteknél katasztrofális visszalépés lehet. A minták interaktív tesztelése reprezentatív bemenettel szemben a kód felülvizsgálata és gyártása előtt problémákat észlel.
A mintáknak is előnyös a dokumentáció. Ha egy reguláris kifejezést a bemenet mellett jelenít meg, annak meg kell egyeznie, a bemenettel pedig nem, ez kifejezi a szándékot. A leendő karbantartók (beleértve Önt is hat hónap múlva) jobban értékelik a dokumentált teszteseteket, mint az okos egysorosokat.
Írjon be egy mintát, gépelje be a tesztbevitelt, és nézze meg az egyezéseket élőben kiemelve.
A JavaScript regex követi az ECMAScript specifikációt. Főbb jellemzők: karakterosztályok ([abc], [^abc]), kvantorok (*, +, ?, {n,m}), váltakozás (|), csoportosítás ((...)), rögzítő és nem rögzítő csoportok, előre- és hátranézés (modern motorok), háttérreferenciák, elnevezett csoportok, Unicode-tulajdonság-kilépések (u jelzővel) és a szabványos escape szekvenciák.
Fontos különbségek a PCRE-hez és a Pythonhoz képest: a lookbehind támogatás nemrégiben jelent meg a JavaScriptben (2018+); az elnevezett csoportok (?<név>...) szintaxist használnak; egyes Unicode-kilépésekhez az u jelző helyes működéséhez szükséges. A többnyelvű használatra szánt mintákat minden célpont dokumentációjában össze kell hasonlítani.
Teljesítmény: a visszalépésen alapuló regex motorok (többnyire JavaScriptet is beleértve) katasztrofálisan visszaléphetnek bizonyos kóros mintákon. A tesztelőt felfüggesztő tesztek azt jelzik, hogy a mintát egyszerűsíteni kell – jellemzően a beágyazott kvantorok és a kétértelmű váltakozás elkerülésével.