Felhasználói eszközök

Eszközök a webhelyen


oktatas:web:javascript:regex

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

oktatas:web:javascript:regex [2019/08/22 20:06] (aktuális)
admin létrehozva
Sor 1: Sor 1:
 +[[oktatas:​web:​javascript|<​ JavaScript]]
 +
 +====== JavaScript Regex ======
 +
 +  * **Szerző:​** Sallai András
 +  * Copyright (c) Sallai András, 2015, 2017
 +  * Licenc: GNU Free Documentation License 1.3
 +  * Web: http://​szit.hu
 +
 +===== Bevezetés =====
 +
 +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.
 +
 +
 +===== Szabályos kifejezések készítése =====
 +
 +<code javascript>​
 +/​minta/​módosítók;​
 +</​code>​
 +
 +
 +<code javascript>​
 +var szabalyosKifejezes = /ab+/;
 +</​code>​
 +
 +
 +RegExp-el:
 +<code javascript>​
 +var szabalyosKifejezes = new RegExp('​ab+'​);​
 +</​code>​
 +
 +
 +
 +Példa módosítóval:​
 +<code javascript>​
 +var szabalyosKifejezes = /szit/i;
 +</​code>​
 +
 +Példa metódusban,​ replace() metódussal:​
 +<code javascript>​
 +function noSpace(x){
 +  return x.replace(/ /g, ""​);​
 +}
 +</​code>​
 +
 +===== Módosítók =====
 +
 +
 +^  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 ​ |
 +
 +===== Speciális karakterek a szabályos kifejezésekben =====
 +
 +^  Egyezés ​ ^  Leírás ​ ^
 +|  \  | A backslash karakterrel azt mondjuk meg, hogy a következő \\  karakternem nem szeretnénk speciálisként értelmezni ​ |
 +|  <​nowiki>​^</​nowiki> ​ | 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.
 +
 +<code javascript>​
 +var s = "​valamiaaaavalami";​
 +
 +alert( ​
 +
 + /​(val)(ami).*\1\2/​.test(s)
 +
 +);
 +</​code>​
 +
 +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 |
 +|  [<​nowiki>​^</​nowiki>​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<​nowiki>​|</​nowiki>​b ​ |  Vagy "​a"​ vagy "​b" ​ |
 +
 +===== Függvények =====
 +
 +
 +^  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ő" ​ |
 +
 +
 +===== Linkek =====
 +  * http://​www.w3schools.com/​jsref/​jsref_obj_regexp.asp
 +  * http://​www.w3schools.com/​js/​js_regexp.asp
  
oktatas/web/javascript/regex.txt · Utolsó módosítás: 2019/08/22 20:06 szerkesztette: admin