Hogyan működik a regex a böngésződben?
Minden JavaScript futási környezet rendelkezik natív reguláris kifejezés motorral — a new RegExp(pattern, flags) lefordítja a mintádat, majd a String.prototype.match, String.prototype.replace és RegExp.prototype.exec metódusok futtatják bármely bemeneti karakterlánc ellen. Ez a tesztelő ezt a motort öltözteti felhasználói felületbe, így szerkesztheted, futtathatod és vizsgálhatod a mintákat anélkül, hogy elhagynád a böngésződet.
Hogyan működik a regex tesztelő?
A folyamat néhány rövid lépésből áll, amelyek mind kliens oldalon futnak minden egyes billentyűleütéskor (150 ms-es fésüléssel, hogy a gépelés folyamatos maradjon):
- A minta törzse beolvasásra kerül a fenti beviteli mezőből (nincs vezető vagy záró
/elválasztó — azok dekoratívak). A kiválasztott zászló gombok összefűzésre kerülnek egy zászló karakterláncba, mintgivagygimsuy. - A
new RegExp(patternBody, flags)lefordítja a mintát. Ha a motorSyntaxError-t dob (pl. nem illeszkedő zárójel vagy érvénytelen escape), az üzenet a teszt karakterlánc fölé kerül, és a találati lista törlődik. A fordítási hiba a ténylegeserr.messagea V8 / SpiderMonkey / JavaScriptCore motorból, így megegyezik azzal, amit a DevTools-ban látnál. - A találati listához a tesztelő mindig szintetikus globális zászlóval számol — így még ha kikapcsolod a
gzászlót, a lista továbbra is minden találatot mutat. A szabványos nulla szélességű találat védelem (if (m.index === rx.lastIndex) rx.lastIndex++) megakadályozza a hurkot az üres karakterláncot illesztő mintákon. A Csere mód a valós zászló készletedet használja. - Minden iteráció között a tesztelő ellenőrzi a
performance.now() - startértéket, és megszakítja a futást, ha 50 ms eltelt. Ez véd a katasztrofális visszalépés ellen olyan bemeneteken, mint az(a+)+$egy hosszúasorozat ellen — a lap egyébként lefagyna. A védelem legjobb erőfeszítés: egy patológiai egyszeri találati minta továbbra is időt fogyaszthat egyetlenexechíváson belül. - A teszt karakterlánc szegmensekre van bontva minden találat tartományánál, és a talált szegmensek
<mark class="rx-match rx-cap-N">elemekbe vannak csomagolva, ahol azNhat paletta színen megy keresztül, így a szomszédos találatok könnyen megkülönböztethetők. Minden találat számozott csoportjai és név szerinti csoportjai címkézett sorokként jelennek meg alatta.
Miért ezt a regex tesztelőt használd?
- Adatvédelem: minden minta, teszt karakterlánc és csere a böngésződben fut a beépített JavaScript RegExp motorral. Semmi sem hagyja el a lapot — fontos, ha a bemenet egy ügyféllog, kiszivárgott hitelesítőadat-minta, vagy bármi más, amit nem illesztenél be egy felhőalapú SaaS regex játszótérbe.
- Őszinte verzió: a tesztelő pontosan azt a regex motort mutatja, amit a Node.js, Chrome, Safari, Firefox és minden böngészőalapú űrlap-validátor használ. Nincs Perl-verzió fordítási réteg, ami elrejtené a finom különbségeket — ami itt működik, az a kódodban is működik.
- Rögzítő és név szerinti csoport hibakeresés: minden számozott csoport (
$1,$2, …) és név szerinti csoport ($<year>) találatonként megjelenik, így építhetsz egy elemzőt és elolvashatod a slotokat találgatás nélkül. A Csere mód lehetővé teszi a csoportok szabad keverését. - Katasztrofális visszalépés elleni védelem: egy 50 ms-os plafon a számbavételen megszakítja a patológiai mintákat, mint
(a+)+$, mielőtt lefagyasztanák a lapot. Magyarázó hibaüzenetet látsz egy lefagyott böngésző helyett, és az oldal azonnal helyreáll.
Mik a regex tesztelő gyakori felhasználásai?
A reguláris kifejezések a webfejlesztés, biztonság és adatmunka minden területén felbukkannak — ez a tesztelő a leggyakoribb esetekre összpontosít:
- Űrlap validálás: prototipizálj egy e-mail, telefonszám vagy irányítószám mintát, illessz be minta bemeneteket a teszt karakterláncba, és erősítsd meg, hogy minden pozitív eset illeszkedik és minden negatív eset nem, mielőtt a mintát éles kódba szállítod.
- Naplóelemzés: illessz be egy darab NGINX, alkalmazás vagy audit napló kimenetet, írj egy mintát név szerinti csoportokkal a számodra fontos részekhez, és olvasd el a rögzített slotokat találatonként, hogy megerősítsd az elemző helyességét.
- Refaktoráló keresés és csere: használd a Csere módot azonosítók átírására egy kódrészleten belül.
Hogy néz ki egy regex példa?
Vegyük a (\d{4})-(\d{2})-(\d{2}) mintát a g zászlóval, futtatva a release 2025-11-15, prerelease 2026-05-25 teszt karakterlánc ellen. A motor két találatot talál. Az első találat 2025-11-15 az 1. csoport = 2025, 2. csoport = 11, 3. csoport = 15. A második találat 2026-05-25 ugyanazzal a csoport alakzattal. Csere módban a $3/$2/$1 csere sablon mindkét dátumot 15/11/2025 és 25/05/2026 értékre írja át — egy egy mintás ISO-DMY átalakítás, amit vizuálisan ellenőrizhetsz, mielőtt beillesztenéd a mintát egy szkriptbe.
Használd ezt a tesztelőt gyors útként bármilyen regex munkához — minták építéséhez, hibakereséséhez vagy átírásához. Minden helyben fut; semmi sem kerül naplózásra; a regex motor az, amit a böngésződ szállít, így a viselkedés megegyezik azzal, amit az éles kód futás közben látni fog.