Minden alap regex token: horgonyok, karakterosztályok, kvantifikátorok, csoportok és jelzők. Mit jelent mindegyik, egy konkrét találattal. A Regex Tester eszköz gyors referenciája.
A regex tokenek egymásra épülnek: fűzz össze egy horgonyt, egy karakterosztályt és egy kvantifikátort egy minta felépítéséhez. A ^ az elejére rögzít, a \d számjegyet keres, a {2,4} pedig a darabszámot adja meg. Együtt, mint ^\d{2,4}$, a teljes szöveg két–négy számjegyére illeszkedik. A mintát olvasd balról jobbra, egyszerre egy tokent. A társ Regex Tester eszközzel ezek a tokenek a saját szövegeden élőben kipróbálhatók.
Illeszkedik a szöveg kezdetének pozíciójára, vagy az m jelzővel a sor kezdetére.
^He → He
Illeszkedik a szöveg végének pozíciójára, vagy az m jelzővel a sor végére.
lo$ → lo
Szóhatárnak felel meg: a pozíciónak egy szó- és egy nem szókarakter között.
\bcat\b → cat
Nem szóhatárnak felel meg: a pozíciónak két szókarakter vagy két nem szókarakter között.
\Bar → ar
Karakterosztályok
Bármilyen egyetlen karakterre illeszkedik, kivéve a sortörést — hacsak nincs bekapcsolva az s jelző.
a.c → abc
Bármilyen számjegyre illeszkedik, 0-tól 9-ig.
\d → 7
Bármilyen karakterre illeszkedik, amely nem számjegy.
\D → a
Bármilyen szókarakterre illeszkedik: betű, számjegy vagy aláhúzás.
\w → _
Bármilyen karakterre illeszkedik, amely nem szókarakter.
\W → !
Bármilyen üres karakterre illeszkedik: szóköz, tabulátor vagy sortörés.
a\sb → a b
Bármilyen karakterre illeszkedik, amely nem üres karakter.
\S → a
A szögletes zárójelben felsorolt karakterek bármelyikére illeszkedik.
[aeiou] → e
Bármilyen karakterre illeszkedik, amely nincs felsorolva a zárójelben.
[^aeiou] → s
A megadott tartomány bármely egyetlen karakterére illeszkedik, a-tól z-ig.
[a-z] → m
Bármilyen egyetlen karakterre illeszkedik, sortörést is beleértve — a sorokon átnyúló pont gyakori idiómája.
[\s\S] → \n
Bármilyen unicode betűre illeszkedik bármely írásrendszerből, az u jelzővel.
\p{L} → é
Bármilyen unicode szám karakterre illeszkedik bármely írásrendszerből, az u jelzővel.
\p{N} → ٣
Escape: egyetlen soremelés (line feed) karakterre illeszkedik.
\n → line feed
Escape: egyetlen tabulátor karakterre illeszkedik.
\t → tab
Escape: egyetlen kocsi vissza (carriage return) karakterre illeszkedik.
\r → carriage return
A megadott kétszámjegyű hexadecimális kódú egyetlen karakterre illeszkedik.
\x41 → A
A megadott hexadecimális kódpontú egyetlen karakterre illeszkedik, az u jelzővel.
\u{1F600} → 😀
Osztály-metszet, a v jelzővel: olyan karakterekre illeszkedik, amelyek egyszerre mindkét halmazban benne vannak.
[[a-z]&&[^aeiou]] → t
Kvantifikátorok
Az előző token nulla vagy több előfordulására illeszkedik.
ab* → abbb
Az előző token egy vagy több előfordulására illeszkedik.
a+ → aaa
Az előző token nulla vagy egy előfordulására illeszkedik, opcionálissá teszi.
colou?r → color
Az előző token pontosan n-szer fordul elő.
a{3} → aaa
Az előző token n vagy több alkalommal fordul elő.
a{2,} → aaaa
Az előző token n és m közötti alkalomszámra illeszkedik, a határokat beleértve.
a{2,4} → aaa
Lusta kvantifikátor: az előző token nulla vagy több előfordulásából a lehető legkevesebbet veszi.
<.*?> on <a><b> → <a>
Lusta kvantifikátor: az előző token egy vagy több előfordulásából a lehető legkevesebbet veszi.
\d+? on 123 → 1
Lusta kvantifikátor: az előző token nulla vagy egy előfordulását keresi, a nullát preferálja.
ab?? on ab → a
Lusta kvantifikátor: az előző token n és m közötti előfordulásából a lehető legkevesebbet veszi.
a{1,3}? on aaa → a
Birtokló (possessive) kvantifikátor (PCRE): az előző token nulla vagy több előfordulását megtartja, és soha nem próbálkozik más felosztással, nem lép vissza.
.*+a on aaa → no match
Csoportok és alternáció
Rögzítő csoport: a sorozatra illeszkedik, és megjegyzi visszahivatkozásokhoz.
(ab)+ → abab
Nem rögzítő csoport: a sorozatra illeszkedik, megjegyzés nélkül.
(?:ab)+ → abab
Pozitív előretekintés: akkor illeszkedik, ha a következő karakterek abc, anélkül hogy elfogyasztaná őket.
a(?=b) → a
Negatív előretekintés: akkor illeszkedik, ha a következő karakterek nem abc, anélkül hogy elfogyasztaná őket.
a(?!b) → a
Visszahivatkozás: az 1-es rögzítő csoport által talált pontos szövegre illeszkedik.
(a)\1 → aa
Alternáció: a vonal előtti vagy utáni kifejezésre illeszkedik.
cat|dog → dog
Névvel ellátott rögzítő csoport: a sorozatra illeszkedik, és a megadott néven jegyzi meg.
(?<year>\d{4}) → year = 2026
Pozitív hátratekintés: akkor illeszkedik, ha a megelőző karakterek abc, anélkül hogy elfogyasztaná őket.
(?<=a)b → b
Negatív hátratekintés: akkor illeszkedik, ha a megelőző karakterek nem abc, anélkül hogy elfogyasztaná őket.
(?<!a)b → b
Nevesített visszahivatkozás: a nevesített csoport által talált pontos szövegre illeszkedik.
(?<w>\w+) \k<w> → the the
Atomcsoport (PCRE): a sorozatra egyszer illeszkedik, és soha nem lép vissza bele.
(?>a+)ab on aab → no match
Ág-visszaállítás (branch reset, PCRE): olyan alternáció, ahol minden ág ugyanazokat a csoportszámokat használja újra.
(?|(cat)|(dog)) → \1 = dog
Jelzők
Globális jelző: a szövegben minden találatot megkeres, nem csak az elsőt.
/a/g on aaa → a, a, a
Kis- és nagybetű-érzéketlen jelző: illesztéskor figyelmen kívül hagyja a betűméretet.
/Hi/i → hi
Többsoros jelző: a ^ és $ minden sor kezdeteként és végeként értelmeződik.
/^a/m matches at the start of each line
Dotall jelző: a pont sortörésre is illeszkedjen.
/a.b/s → a\nb
Unicode jelző: a mintát és a bemenetet unicode kódpontokként kezeli.
/\u{1F600}/u → 😀
Ragadós (sticky) jelző: csak a lastIndex által beállított pontos pozícióban illeszkedik.
/ab/y matches only at lastIndex
Index jelző: minden találat kezdő- és zárópozícióját hozzáadja az eredményhez.
/b/d on abc → indices [1, 2]
Unicode halmazok jelzője: szigorúbb u, amely halmazműveleteket is megenged egy osztályon belül.
/[a-z&&[^aeiou]]/v → t
Kiterjesztett jelző (PCRE): a mintában a nem escape-elt üres karaktereket és # megjegyzéseket figyelmen kívül hagyja.