Ez a dokumentum egy előző változata!
A Regex a Regular Expressions rövidítése, magyarul szabályos kifejezések. A szabályos kifejezések lehetővé teszik karakterek egyeztetését karaktersorozatokban. Használhaót a RegExp exec() és test(), a String match(), replace(), search() és split() metódusaival.
/minta/módosítók;
var szabalyosKifejezes = /ab+/;
RegExp-el:
var szabalyosKifejezes = new RegExp('ab+');
Példa módosítóval:
var szabalyosKifejezes = /szit/i;
Példa metódusban, replace() metódussal:
function noSpace(x){ return x.replace(/ /g, ""); }
Módosító | Leírás |
---|---|
i | Kis- és nagybetű érzékeny |
g | globális egyezés, az összes egyezést megkeresi másként csak az elsőként előfordulóra érvényes |
m | Többsoros egyezés |
Egyezés | Leírás |
---|---|
\ | A backslash karakterrel azt mondjuk meg, hogy a következő karakternem nem szeretnénk speciálisként értelmezni |
^ | Illeszkedés a sor elejére |
$ | Illeszkedés a sor végére |
. | Minden karakterre egyezik az új sor és a kocsi-vissza kivételével |
(x) | Csoportok létrehozása. A csoportokra később hivatkozhatunk \1 az első csoport. \2 a második csoport. |
\w | Egy szó egy karaktere. |
\W | Ami nem egy szó karaktere. |
\d | Számra egyezik. |
\D | Nem számra egyezik. |
\s | White-space karakterre illeszkedik. |
\S | Nem white-space karakterre illeszkedik. |
\b | Szó előtt és szó utáni karakterre illeszkedik. |
\B | Minden ami nem a szó előtt és nem a szó után van. |
\0 | NUL karakter. |
\n | Újsor |
\f | Lapdobás |
\r | Kocsi vissza karakter |
\t | Tabulátor |
\v | Vertikális tabulátor |
\xxx | Karakterkód oktális számmal |
\xdd | Karakterkód hexadecimális számmal |
\uxxxx | Unicode karakter hexadecimálisan |
Példa a csoportokra hivatkozásra.
var s = "valamiaaaavalami"; alert( /(val)(ami).*\1\2/.test(s) );
A fenti példa true értéket jelenít meg, mivel a „val” és a „ami” szó szerepel a szó elején és a végén is. A \1 az első csoportot jelenti, a \2 a második csoportot.
Sokszorozók:
Szimbólum | Leírás |
---|---|
+ | Az előtte lévő karakter egyszer vagy többször |
* | Az előtte lévő karakter nullaszor vagy többször |
? | Az előtte lévő karakter nullaszor vagy egyszer |
{n} | Az előtte lévő karakter pontosan n-szer |
{n,m} | Az előtte lévő karakter n-től m-ig. |
{n,} | Az előtte lévő karakter legalább n-szer. |
Jelölés | Leírás |
---|---|
[abc] | Egyetlen karakter, vagy „a”, vagy „b”, vagy „c” betű |
[a-z] | Egyetlen karakter a és z között |
[A-Z] | Egyetlen karakter A és Z között |
[^abc] | Egyetlen karakter, amely nem a szögletes zárójelek közötti karakter. Kizárás |
Az [a-z.] megegyezik a \w jelöléssel.
Jelölés | Leírás |
---|---|
a|b | Vagy „a” vagy „b” |
Függvények | |
---|---|
Függvény | Leírás |
RegEx metódusai | |
test() | var str = „valami”; var res = /val/.test(str); res értéke true |
exec() | var str = „valami”; var res = /val/.exec(str); res értéke „val” |
String metódusai | |
match() | var str = „valami”; var res = str.match(/val/); res tartalma: „val”, egyébként null |
replace() | var str = „valami”; var res = str.replace(/val/, „—”); res értéke —ami |
search() | var str = „mégvalami”; var res = str.search(/val/); res eredménye 4 |
split() | var str = „egy:kettő:három”; var res = str.split(/:/); res[1] eredménye „kettő” |