Ingyenes konverter

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.

//g
Zászlók:

Az eszközről

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.

Miért használjon Regex tesztert?

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.

Használati útmutató

Írjon be egy mintát, gépelje be a tesztbevitelt, és nézze meg az egyezéseket élőben kiemelve.

  1. Adja meg a mintáját: Írja be a reguláris kifejezést a minta mezőbe. Mind a szó szerinti regex (/minta/zászlók), mind a csak mintát tartalmazó űrlapok működnek; A zászlók a flags bemeneten keresztül állíthatók be.
  2. Teszt bemenet hozzáadása: Illessze be a minta szövegét, amelynek meg kell egyeznie a mintának (és ideális esetben a szöveggel is, amelynek nem kell egyeznie). A tesztelő a mintát a bemenettel szemben futtatja, és kiemeli az egyezéseket.
  3. Állítsa be a zászlókat: Gyakori jelzők: g (globális, minden egyezés megkeresése), i (nem érzékeny a kis- és nagybetűkre), m (többsoros, ^ és $ egyezési sor kezdődik/vége), s (pont, . újsorokra egyezik), u (Unicode).
  4. Vizsgálja meg az eredményeket: Minden egyezés kiemelve van a bevitelben. A rögzítési csoportok listában jelennek meg csoportindexszel és értékkel. A tesztelő emellett megjeleníti az egyezések számát és a mintában található fordítási hibákat is.

Gyakori használati esetek

Műszaki részletek

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.

Legjobb gyakorlatok

Gyakran ismételt kérdések

Melyik regex ízt támogatja ez az eszköz?
A JavaScript beépített RegExp motorját használja, amely támogatja a szabványos szintaxist, ideértve az előretekintést, a mögöttes nézeteket (modern böngészőkben), az elnevezett rögzítési csoportokat és az Unicode-tulajdonság kilépéseit.
Tesztelhetem a regex helyettesítéseket?
Igen. A csereminta megadásához váltson Csere módba. Használhatja a $1, $2 stb. elemeket a rögzítési csoportok visszahivatkozásaihoz, és a $<név> elemet az elnevezett csoportokhoz.
Miért egyezik itt másképp a regexem, mint a Python/PHP-ben?
A különböző programozási nyelveknek kissé eltérő regex motorjaik vannak. A JavaScript nem támogatja a birtokos kvantorokat vagy néhány PCRE-specifikus szolgáltatást. Az alapvető szintaxis (karakterosztályok, kvantorok, csoportok) ugyanaz a nyelveken.
Menti az eszköz a regex mintáimat?
Nem. Semmi sem kerül mentésre vagy átvitelre. Az eszköz teljes egészében a böngészőjében fut. A reguláris kifejezés karakterláncának másolásával könyvjelzők közé helyezheti vagy megoszthatja a mintákat.
Hogyan egyeztethetek egy szó szerinti speciális karaktert?
Kerülje el egy fordított perjellel. A szó szerinti pont megfeleltetése: \. A szó szerinti fordított perjel illesztése: \\. A karakterosztályokon belül [...] a legtöbb különleges karakter értelmét veszti.
A tesztelő szerveren fut?
Nem. A minták összeállítása és egyeztetése a böngészőben történik a natív RegExp objektum használatával.
Tesztelhetem a mintákat nem JavaScript-motorokhoz?
Többnyire. Az egyszerű minták esetében a főbb motorok egyetértenek. Speciális szolgáltatások esetén (mégre nézés, atomcsoportok, birtokos kvantorok, Unicode-tulajdonság-kihagyások) erősítse meg a célmotor dokumentációjában.
Nagyon nagy bemenetet kezel?
Akár néhány megabájt is zökkenőmentesen működik. A nagyobb bemenetek lelassíthatják vagy leállíthatják a böngészőt, különösen a visszalépésre hajlamos minták esetén.