Regex tesztelő
Teszteljen regex mintákat élő egyezéssel, flagekkel és részletekkel.
Mik azok a reguláris kifejezések?
A reguláris kifejezések (regex vagy regexp) szövegekben karakterkombinációk megtalálására szolgáló minták. A programozás egyik legerőteljesebb eszköze szövegkereséshez, érvényesítéshez, kinyeréshez és átalakításhoz. Minden jelentős programozási nyelv támogatja a reguláris kifejezéseket, és nélkülözhetetlenek az űrlap-érvényesítéshez, a naplófájlok elemzéséhez és az adattisztításhoz.
Egy regex-minta speciális szintaxissal írja le a karakterláncok egy halmazát. Az egyszerű minták szó szerinti szöveget illesztenek, míg a metakarakterek, mint a . (bármely karakter), a * (nulla vagy több) és a + (egy vagy több) rugalmasságot adnak. A zárójelekkel való csoportosítás, a | váltakozás és a [] karakterosztályok szinte bármilyen szövegmintához pontos illesztési szabályokat hoznak létre.
A regex tesztelő használata
Adja meg a reguláris kifejezés mintát a mintamezőben, válassza ki a kívánt jelzőket (g, i, m, s), és illessze be a tesztelendő szöveget. Az eszköz valós időben kiemeli az összes egyezést, és minden egyezés esetén megjeleníti a rögzítési csoportokat. Ezzel fejleszthet és hibakereshet regex-mintákat, mielőtt beágyazná őket a kódjába.
Általános regex-minták
- E-mail-cím: ^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$ – egyezik a szabványos e-mail-formátumokkal.
- URL-ek: https?://\\S+ – a http-vel vagy https-szel kezdődő URL-ekkel egyezik.
- IPv4-cím: a szabványos pontozott decimális formátumnak felel meg (pl. 192.168.1.1) számjegy-kvantorok alkalmazásával.
- Dátumok: ÉÉÉÉ-HH-NN formátumú dátumokhoz illeszkedik, négyjegyű évet és kétjegyű hónapot és napot alkalmazva.
- Nagy kezdőbetűs szavak: [A-Z][a-z]+ – nagybetűvel kezdődő szavakkal egyezik.
Regex-jelzők magyarázata
- g: g (Globális): A szöveg összes egyezését megtalálja, nem csak az elsőt.
- i: i (Kis-/nagybetű-független): A minta illeszkedik a levél esetétől függetlenül.
- m: m (Többsoros): A ^ és $ egyezik minden sor elejével és végével, nem csak a teljes karakterlánc elején és végén.
- s: s (Pontall): A . metakarakter újsor-karakterekkel is egyezik.
Rögzítési csoportok
A zárójelek () rögzítési csoportokat hoznak létre, amelyek az egyezés egyes részeit nyerik ki. Minden csoport 1-től számozódik. Például a (\\w+)@(\\w+\\.\\w+) minta a \"user@example.com\" szövegre alkalmazva az 1. csoportba rögzíti a \"user\"-t, a 2. csoportba az \"example.com\"-ot. A (?<name>...) szintaxissal elnevezett csoportok olvashatóbbá teszik az összetett mintákat.
Általános regex-hibák
A speciális karakterek escape-elésének elfelejtése a leggyakoribb hiba. Az olyan karaktereknek, mint a . + * ? ( ) [ ] ^ $ | és a kapcsos zárójelek, speciális jelentésük van a regex-ben, és fordított törtvonallal kell escape-elni őket, ha szó szerint kell illeszteni őket. Például egy pont illesztéséhez backslash-pont szükséges, nem egyszerűen egy pont.
Túlzottan mohó minták írása egy másik gyakori probléma. A .* kvantifikátor a lehető legtöbb szövegre illeszkedik, ami sokkal többet rögzíthet a szándékoltnál. A .*? lusta kvantifikátorral a lehető legkevesebbet illesztheti, vagy konkrétabb mintákat alkalmazhat, például [^>]* a .* helyett strukturált szöveg elemzésekor.
Gyakran ismételt kérdések
Ugyanazok a regex-minták minden programozási nyelvben?
Az alapszintaxis hasonló, de vannak különbségek. A JavaScript, a Python, a Java és a .NET mindegyikének kissé eltérő funkciói és szintaxisa van a fejlettebb konstrukciókhoz, például a visszatekintő állításokhoz, az elnevezett csoportokhoz és az Unicode-támogatáshoz. Ez az eszköz JavaScript regex-et használ, amely a webfejlesztés szabványa.
Hogyan tanulhatom meg a reguláris kifejezéseket?
Kezdjen egyszerű mintákkal, és fokozatosan bővítse azokat. Először tanulja meg az alapvető metakaraktereket (. * + ? ^ $), a karakterosztályokat ([a-z], \\d, \\w) és a kvantifikátorokat. Utána térjen rá a csoportosításra, a váltakozásra és az előretekintőkre. Valós feladatokon gyakoroljon, például e-mailek érvényesítése, naplófájlok elemzése vagy adatok kinyerése HTML-ből.