Tesztelje a reguláris kifejezéseket valós idejű egyezés kiemeléssel, minta érvényesítéssel és a leggyakoribb regex szimbólumok magyarázatával. Mentse el és használja újra a gyakran használt mintáit egyedi címkékkel.
Adjon meg egy mintát és teszt szöveget az eredmények megtekintéséhez
Adjon meg egy mintát és teszt szöveget az eredmények megtekintéséhez
Még nincsenek mentett minták
.
Bármely karaktert egyezik, kivéve az új sort\d
Bármely számjegyet egyezik (0-9)\D
Bármely nem számjegyet egyezik\w
Bármely szóképző karaktert egyezik (a-z, A-Z, 0-9, _)\W
Bármely nem szóképző karaktert egyezik\s
Bármely szóköz karaktert egyezik\S
Bármely nem szóköz karaktert egyezik^
A sor elejét egyezik$
A sor végét egyezik*
A megelőző karakter 0 vagy több példányát egyezik+
A megelőző karakter 1 vagy több példányát egyezik?
A megelőző karakter 0 vagy 1 példányát egyezik{n}
Pontosan n példányt egyezik a megelőző karakterből{n,}
Legalább n példányt egyezik a megelőző karakterből{n,m}
n és m közötti példányokat egyezik a megelőző karakterből[abc]
Bármely karaktert egyezik a zárójelekben[^abc]
Bármely karaktert egyezik, ami nincs a zárójelekben(abc)
Több tokent csoportosít, és rögzíti az egyezésta|b
Egyezik a vagy b\b
Egyezik egy szóképző határhelyzettelA reguláris kifejezés (regex) minta tesztelő elengedhetetlen eszköz a fejlesztők, adat elemzők és bárki számára, aki szövegfeldolgozással foglalkozik. Ez a teljes körű regex minta érvényesítő lehetővé teszi, hogy valós időben hozzon létre, teszteljen és finomítson reguláris kifejezéseket, azonnali vizuális visszajelzést adva a minta egyezésekről. Akár e-mail címek érvényesítéséről, naplófájlok elemzéséről, vagy specifikus adatok kinyeréséről van szó szövegből, a regex tesztelőnk gyorsabbá és intuitívabbá teszi a fejlesztési és hibakeresési folyamatot.
A reguláris kifejezések erőteljes mintázat-illesztési sorozatok, amelyek lehetővé teszik a bonyolult szövegkeresést, érvényesítést és manipulációt. Azonban a szintaxisuk bonyolult lehet, és nehéz elsajátítani. Ez a regex minta tesztelő leegyszerűsíti a folyamatot azzal, hogy kiemeli a találatokat, miközben gépel, érvényesíti a minta szintaxisát, és lehetővé teszi a gyakran használt minták elmentését a jövőbeni hivatkozás érdekében.
A regex minta érvényesítőnk használata egyszerű és intuitív. Kövesse az alábbi lépéseket a kezdéshez:
Adjon meg egy reguláris kifejezés mintát: Írja be a regex mintáját a megadott bemeneti mezőbe. Az eszköz valós időben érvényesíti a mintáját, figyelmeztetve Önt bármilyen szintaxis hibára.
Válassza ki a regex zászlókat: Válassza ki a megfelelő zászlókat a mintájához:
g
(Globális): Minden egyezést találjon meg, ahelyett, hogy az első egyezés után megállnai
(Nagybetűérzéketlen): Tegye a mintát nagybetűérzéketlenném
(Több sor): Tegye lehetővé, hogy a ^
és $
minden sor elejét/végét illesszeAdja meg a teszt szöveget: Írja be a szöveget, amelyet tesztelni szeretne a mintájával a teszt szöveg területén.
Nézze meg az eredményeket valós időben: Miközben gépel, az eszköz automatikusan:
Mentse el a hasznos mintákat: Azok számára, akiket gyakran használ:
Másolja az eredményeket: Használja a "Másolás" gombot, hogy az összes egyező szöveget a vágólapra másolja, hogy más alkalmazásokban felhasználhassa.
A felület két fő panelre van osztva: a bemeneti panelre, ahol beírhatja a mintáját és a teszt szöveget, és az eredmény panelre, amely megjeleníti az egyezéseket és a minta információit.
A reguláris kifejezések speciális karaktereket és sorozatokat használnak a keresési minták meghatározásához. Íme egy útmutató az alapvető regex szimbólumokhoz, amelyeket eszközünk támogat:
Szimbólum | Leírás | Példa | Egyezések |
---|---|---|---|
. | Bármely karaktert illeszt, kivéve az újsor | a.c | "abc", "adc", "a1c", stb. |
\d | Bármely számjegyet illeszt (0-9) | \d{3} | "123", "456", "789", stb. |
\D | Bármely nem számjegyet illeszt | \D+ | "abc", "xyz", stb. |
\w | Bármely szókaraktert illeszt (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123", stb. |
\W | Bármely nem szókaraktert illeszt | \W+ | "!@#", " + ", stb. |
\s | Bármely whitespace karaktert illeszt | a\sb | "a b", "a\tb", stb. |
\S | Bármely nem whitespace karaktert illeszt | \S+ | "abc", "123", stb. |
Szimbólum | Leírás | Példa | Egyezések |
---|---|---|---|
^ | A sor elejét illeszti | ^abc | "abc" a sor elején |
$ | A sor végét illeszti | abc$ | "abc" a sor végén |
\b | Szóhatárt illeszt | \bword\b | "word" mint teljes szó |
Szimbólum | Leírás | Példa | Egyezések |
---|---|---|---|
* | A megelőző karakter 0 vagy több előfordulását illeszti | a*b | "b", "ab", "aab", stb. |
+ | A megelőző karakter 1 vagy több előfordulását illeszti | a+b | "ab", "aab", "aaab", stb. |
? | A megelőző karakter 0 vagy 1 előfordulását illeszti | colou?r | "color", "colour" |
{n} | Pontosan n megelőző karaktert illeszt | a{3} | "aaa" |
{n,} | Legalább n megelőző karaktert illeszt | a{2,} | "aa", "aaa", "aaaa", stb. |
{n,m} | n és m közötti megelőző karaktert illeszt | a{2,4} | "aa", "aaa", "aaaa" |
Szimbólum | Leírás | Példa | Egyezések |
---|---|---|---|
[abc] | Bármely karaktert illeszt a zárójelekben | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | Bármely karaktert illeszt, ami nincs a zárójelekben | [^aeiou] | Bármely karakter, kivéve "a", "e", "i", "o", "u" |
[a-z] | Bármely karaktert illeszt a tartományban | [a-z] | Bármely kisbetű |
Szimbólum | Leírás | Példa | Egyezések |
---|---|---|---|
(abc) | Több tokent csoportosít együtt és rögzíti a találatot | (abc)+ | "abc", "abcabc", stb. |
a|b | Illeszt vagy a vagy b | cat|dog | "cat", "dog" |
Miután elsajátította az alapokat, bonyolultabb mintákat hozhat létre, hogy megoldja a komplex szövegfeldolgozási kihívásokat:
1^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
2
Ez a minta érvényesíti az e-mail címeket, biztosítva, hogy a szabványos formátumot kövessék: felhasználónév@domain.tld.
1^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
2
Ez a minta érvényesíti az URL-eket, beleértve azokat is, amelyek tartalmazzák vagy nem tartalmazzák a http/https protokollt.
1^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
2
Ez a minta illeszkedik az amerikai telefonszámok különböző formátumaira: (123) 456-7890, 123-456-7890, vagy 1234567890.
1^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
2
Ez a minta érvényesíti a dátumokat az YYYY-MM-DD formátumban, alapvető érvényesítéssel a hónap és nap tartományok számára.
A lookahead és lookbehind állítások lehetővé teszik, hogy csak akkor illeszkedjenek minták, ha azokat egy másik minta követi vagy megelőzi:
a(?=b)
illeszkedik "a"-ra, csak ha "b" követia(?!b)
illeszkedik "a"-ra, csak ha nem követi "b"(?<=a)b
illeszkedik "b"-re, csak ha "a" megelőzi(?<!a)b
illeszkedik "b"-re, csak ha nem "a" megelőziA regex tesztelőnk támogat különböző zászlókat, amelyek módosítják, hogyan illeszkednek a minták:
^
és $
minden sor elejét/végét illeszeA reguláris kifejezések számos gyakorlati alkalmazással rendelkeznek különböző területeken:
Űrlap Érvényesítés: Biztosítsa, hogy a felhasználói bemenetek megfeleljenek a szükséges formátumoknak:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
HTML Elemzés: Különböző elemek vagy attribútumok kinyerése:
<img[^>]+src="([^">]+)"
<a[^>]+href="([^">]+)"
Naplófájl Elemzés: Információk kinyerése a naplóbejegyzésekből:
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
ERROR: .*
CSV Elemzés: Feldolgozás vesszővel elválasztott értékekkel, amelyek potenciálisan idézőjelek közé vannak zárva:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
Keresés és Csere: Minták azonosítása cseréhez:
<[^>]*>
(\d{3})(\d{3})(\d{4})
→ ($1) $2-$3
Tartalom Kinyerése: Specifikus információk kinyerése strukturálatlan szövegből:
\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
\$\d+(?:\.\d{2})?
Szintaxis Kiemelés: Nyelvi konstrukciók azonosítása:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
function\s+([a-zA-Z_$][\w$]*)\s*\(
Kód Refaktorálás: Minták keresése, amelyek frissítésre szorulnak:
\.oldMethod\(
eval\(
A regex minta tesztelőnk tartalmaz egy minta kezelő rendszert, amely lehetővé teszi, hogy elmentse és újra felhasználja a gyakran használt kifejezéseit:
Fontolja meg a minták mentését, amelyek:
Amikor mintákat ment, használjon leíró címkéket, amelyek:
Szervezze meg a mentett mintáit:
Bár eszközünk nem támogatja közvetlenül a minták megosztását felhasználók között, teheti:
Még a tapasztalt fejlesztők is találkoznak kihívásokkal a reguláris kifejezésekkel. Íme megoldások a gyakori problémákra:
Ha a mintája érvényesítési hibát mutat:
Ha a regex lassú vagy böngésző késlekedést okoz:
(a+)+
)Ha a mintája nem kívánt szövegre illeszkedik:
^
és $
), hogy az egész szöveget illessze\b
), ahol szükségesHa a mintája nem illeszkedik a várt szövegre:
i
zászló használatát)Bár a regex erőteljes, nem mindig a legjobb megoldás minden szövegfeldolgozási feladathoz:
Egyszerű szövegműveletekhez a natív sztring módszerek gyakran világosabbak és hatékonyabbak:
String.indexOf()
az alminták kereséséreString.startsWith()
és String.endsWith()
a sztring határainak ellenőrzéséreString.split()
az alapvető tokenizáláshozSzerkezeti adatformátumokhoz a dedikált elemzők robusztusabbak:
A szöveg jelentésének megértéséhez a minták helyett:
Fontolja meg az alternatívák használatát a regex helyett, amikor:
A reguláris kifejezés (regex) egy karakterek sorozata, amely meghatározza a keresési mintát. Ezek a minták felhasználhatók sztring keresésére, illesztésére és szövegmanipulációs műveletekre.
A regex minta tesztelő segít a reguláris kifejezések fejlesztésében és hibakeresésében azzal, hogy azonnali vizuális visszajelzést ad az egyezésekről, érvényesíti a minta szintaxisát, és lehetővé teszi, hogy különböző mintákkal és zászlókkal kísérletezzen, anélkül, hogy először kódba kellene őket implementálnia.
A literális speciális karakterek illesztéséhez, amelyeknek általában speciális jelentésük van a regexben, escape-elni kell őket egy visszaperjével. Például, hogy illeszkedjen egy literális ponthoz, használja a \.
-t ahelyett, hogy csak .
-t használná.
.*
és a .*?
között egy regex mintában?A .*
egy mohó kvantor, amely a lehető legtöbb karaktert illeszti, míg a .*?
egy lusta (nem mohó) kvantor, amely a lehető legkevesebb karaktert illeszti. Ez a megkülönböztetés fontos, amikor a legrövidebb egyezést szeretné megtalálni a leghosszabb helyett.
Bár a regex alap szintaxisa hasonló sok nyelvben, a megvalósításban finom eltérések lehetnek. Tesztelőnk a JavaScript regex motorját használja, amely kompatibilis sok webes nyelvvel, de eltérések lehetnek a Python, Java vagy Perl regexével.
Ahhoz, hogy érvényesítse, hogy egy egész sztring illeszkedik egy mintához, használja a ^
anchor-t a minta elején és a $
anchor-t a végén. Például, ^[0-9]+$
csak azokat a sztringeket illeszti, amelyek kizárólag számjegyekből állnak.
A rögzítő csoportok, amelyeket zárójelek ()
hoznak létre, lehetővé teszik, hogy kinyerjen specifikus részeket a megtalált szövegből. A tesztelőnkben láthatja az összes találatot, beleértve a rögzített csoportokat is. A programozási nyelvekben általában indexelheti ezeket a rögzítéseket a találati eredményen.
A regex hatékonyságának javításához: legyen specifikus a karakterosztályokkal, kerülje a szükségtelen rögzítő csoportok használatát (használjon nem rögzítő csoportokat (?:...)
, amikor lehetséges), korlátozza a lookahead/lookbehind használatát, és kerülje a katasztrofális visszahívási mintákat, mint a fésült kvantorok.
A leggyakoribb hibák közé tartozik: a speciális karakterek nem escape-elése, a túl mohó minták létrehozása, a minták rögzítésének elfelejtése (a ^
és $
használatával), és a túl bonyolult kifejezések írása, amelyek nehezen karbantarthatók.
A reguláris kifejezések nem alkalmasak fésült struktúrák, mint a HTML vagy XML elemzésére. Bár létrehozhat regex mintákat egyszerű HTML illesztésére, általában jobb egy dedikált HTML elemzőt használni bonyolult HTML feldolgozásához.
Próbálja ki a regex minta tesztelőnket még ma, hogy leegyszerűsítse a szövegfeldolgozási feladatokat, érvényesítse a bemeneti formátumokat, és kinyerje a jelentős adatokat strukturálatlan szövegből. Akár kezdő, aki a reguláris kifejezések alapjait tanulja, akár tapasztalt fejlesztő, aki komplex mintázat-illesztéssel dolgozik, eszközünk biztosítja a szükséges funkciókat a regex minták hatékony létrehozásához, teszteléséhez és finomításához.
Fedezzen fel több olyan eszközt, amely hasznos lehet a munkafolyamatához