Regex-tesztelő
A reguláris kifejezések mintaegyeztetési szöveget az érvényesítéshez, kereséshez és cseréhez és naplóelemzéshez. Tesztelje a mintákat élő kiemeléssel, mielőtt az éles kódba kerülne — elkerülje a katasztrofális visszalépési meglepetéseket a felhasználói bevitellel.
Reguláris kifejezés tesztelése
1. Írd be a reguláris kifejezési mintát (külső perjelek nélkül vagy jelzőkkel).
2. Globális jelzők beállítása: gszenzitív kis- és nagybetűk: többsoros.
3. Példaszöveg beillesztése a tesztkarakterlánc területére.
4. Ellenőrizd az egyezéseket, rögzítse a csoportokat, és cserélje ki az előnézetet, ha elérhető.
Regex példák
E-mailben érvényesítés
^[\\\\w.-]+@[\\\\w.-]+\\\\.\\\\w+$ elkapja az egyszerű e-maileket — nem tökéletes az RFC-hez, de hasznos az űrlapokhoz.
ISO-dátumok kibontása
\\\\d{4}-\\\\d{4}-\\\\d{2}-\\\\d 2024-03-15 naplósorokban a grep cseréjéhez.
Slugify helper
Cserélje ki a [^a-z0-9]+ jelet kötőjelre a címsorból származó URL-címhez.
Mikor használd ezt az eszközt
• Strukturált karakterláncok (telefonszám, irányítószám) érvényesítésekor.
• Félig strukturált naplók elemzésekor.
• A rögzítési csoportok megtanulásakor és az előretekintéskor.
ReDoS-tudatosság
Beágyazott kvantorok, mint például a (a+) user regex használata elkerülése a CPUe-n vagy időtúllépések.
Gyakori kérdések
Melyik reguláris kifejezés?
JavaScript RegExp — PCRE eltérések léteznek (a mögöttes támogatás a motorverziótól függően változik).
Globális jelző g?
Minden egyezést megkeres, nem csak először — testStateful a lastIndex-el JS-ben.
Kilép a speciális karakterekből?
. * +? [ ] ( ) { } | \\\\ ^ $ kihagyásra van szükség a szó szerinti egyezéshez.
Csoportok rögzítése?
A zárójelek ( ) számozott csoportokat hoznak létre, amelyek elérhetők a $1 helyére $2.
Helyi?
Igen.