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

Következő változat
Előző változat
oktatas:web:javascript:regex [2019/08/22 20:06]
admin létrehozva
oktatas:web:javascript:regex [2021/02/21 16:21] (aktuális)
admin [Speciális karakterek a szabályos kifejezésekben]
Sor 4: Sor 4:
  
   * **Szerző:​** Sallai András   * **Szerző:​** Sallai András
-  * Copyright (c) Sallai András, 2015, 2017+  * Copyright (c) Sallai András, 2015, 2017, 2021
   * Licenc: GNU Free Documentation License 1.3   * Licenc: GNU Free Documentation License 1.3
-  * Web: http://szit.hu+  * Web: https://szit.hu
  
 ===== Bevezetés ===== ===== Bevezetés =====
  
-A Regex a Regular Expressions rövidítése,​ magyarul szabályos kifejezések. ​+**Regex** **Regular Expressions** rövidítése,​ magyarul szabályos kifejezések. ​
 A szabályos kifejezések lehetővé teszik karakterek egyeztetését karaktersorozatokban. 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.+Használható objektumok és függvények:​ 
 +  ​* RegExp 
 +    ​* exec() 
 +    ​* test() 
 +  ​String 
 +    ​* match() 
 +    * replace() 
 +    * search() 
 +    ​* split()
  
  
 ===== Szabályos kifejezések készítése ===== ===== Szabályos kifejezések készítése =====
 +A szabályos kifejezések mintáit két / karakter között adjuk meg.  
 +A második perjel után módosítók adhatók meg. 
 +Szintaxis: ​
 <code javascript>​ <code javascript>​
 /​minta/​módosítók;​ /​minta/​módosítók;​
 </​code>​ </​code>​
  
 +A szabályos kifejezések tárolhatók változókban:​
 <code javascript>​ <code javascript>​
 var szabalyosKifejezes = /ab+/; var szabalyosKifejezes = /ab+/;
Sor 27: Sor 37:
  
  
-RegExp-el:+Létrehozás ​RegExp() konstruktorral:
 <code javascript>​ <code javascript>​
 var szabalyosKifejezes = new RegExp('​ab+'​);​ var szabalyosKifejezes = new RegExp('​ab+'​);​
Sor 39: Sor 49:
 </​code>​ </​code>​
  
-Példa ​metódusban, ​replace() ​metódussal:+Példa replace() ​függvénnyel:
 <code javascript>​ <code javascript>​
 function noSpace(x){ function noSpace(x){
Sor 46: Sor 56:
 </​code>​ </​code>​
  
 +A példában a npSpace függvény töröl minden szóközt az x-ből.
 +
 +===== Gyakorlat =====
 +==== Igen nem válasz ====
 +
 +Vizsgáljuk meg, hogy a válasz igen, vagy más. 
 +Igennek vesszük, ha a szövegben található (i) betű.
 +
 +<code javascript>​
 +var valasz = '​igen';​
 +var valaszMinta = /i/;
 +
 +if (valasz.match(valaszMinta)) {
 +    console.log('​Ok'​);​
 +}else {
 +    console.log('​Nem ok');
 +}
 +
 +</​code>​
 +A válaszban valahol szerepelnie kell egy (i) betűnek. ​
 +
 +Találat esetén egy objektumot kapunk:
 +  * ["​i",​ index: 0, input: "​igen",​ groups: undefined]
 +Ha nincs találat:
 +  * null
 +
 +
 +Ha az illeszkedést csak akkor szeretnénk,​ ha az i betű a sor elején van,
 +akkor tegyük egy (^) karaktert az (i) elé.
 +
 +<code javascript>​
 +var valaszMinta = /^i/;
 +</​code>​
 +
 +Ha csak az (i) betűt szeretnénk elfogadni, akkor tegyünk illeszkedést
 +a sor végére is:
 +<code javascript>​
 +var valaszMinta = /^i$/;
 +</​code>​
 +==== i vagy n ====
 +
 +Elfogadjuk az (i) és az (n) karaktert.
 +Szögletes zárójelek között megadhatjuk a lehetséges karaktereket.
 +
 +<code javascript>​
 +var valaszMinta = /^[in]$/;
 +</​code>​
 +
 +A szögletes zárójelek között megadott karakterek mindig 1 darab karaktert ​
 +jelentenek. Esetünkben 1 darab (i) vagy 1 darab (n) betűt.
 +==== Érdemjegyek vizsgálata ====
 +
 +Az érdemjegyben szerepelnie kell számoknak.
 +A lehetséges számjegyek csak 1, 2, 3, 4 vagy 5.
 +
 +
 +<code javascript>​
 +var valaszMinta = /​^[12345]$/;​
 +</​code>​
 +
 +Megadható intervallum formájában is:
 +<code javascript>​
 +var valaszMinta = /^[1-5]$/;
 +</​code>​
 ===== Módosítók ===== ===== Módosítók =====
  
 +A módosítókat mindig a két (/) karakter után írjuk. ​
 +A mintailleszkedésen kicsit módosítanak. ​
  
 ^  Módosító ​ ^  Leírás ​ ^ ^  Módosító ​ ^  Leírás ​ ^
-|  i  | Kis- és nagybetű ​érzékeny ​|+|  i  | Kis- és nagybetű ​érzékenység kikapcsolva ​|
 |  g  | globális egyezés, az összes egyezést megkeresi \\ másként csak az elsőként előfordulóra érvényes | |  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 ​ | |  m  |  Többsoros egyezés ​ |
 +
 +
 +==== Módosítók gyakorlat ====
 +
 +A következő példában elfogadjuk a kis és nagy (i) betűket is:
 +<code javascript>​
 +var valasz = '​I';​
 +var valaszMinta = /^i$/i;
 +</​code>​
  
 ===== Speciális karakterek a szabályos kifejezésekben ===== ===== Speciális karakterek a szabályos kifejezésekben =====
Sor 95: Sor 180:
 </​code>​ </​code>​
  
-A fenti példa true értéket jelenít meg, mivel a "​val"​ és "​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. ​+A fenti példa true értéket jelenít meg, mivel a "​val"​ és az "​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:+===== Sokszorozók ​===== 
  
 ^  Szimbólum ​ ^  Leírás ​ ^ ^  Szimbólum ​ ^  Leírás ​ ^
Sor 108: Sor 194:
 |  {n,}  | Az előtte lévő karakter legalább n-szer. ​ | |  {n,}  | Az előtte lévő karakter legalább n-szer. ​ |
  
 +
 +===== Karakterosztályok =====
  
 ^  Jelölés ​ ^  Leírás ​  ^ ^  Jelölés ​ ^  Leírás ​  ^
Sor 116: Sor 204:
  
 Az [a-z.] megegyezik a \w jelöléssel. ​ Az [a-z.] megegyezik a \w jelöléssel. ​
 +
 +
 +===== Vagy =====
  
 ^  Jelölés ​  ​^ ​ Leírás ​ ^ ^  Jelölés ​  ​^ ​ Leírás ​ ^
oktatas/web/javascript/regex.1566497199.txt.gz · Utolsó módosítás: 2019/08/22 20:06 szerkesztette: admin