Felhasználói eszközök

Eszközök a webhelyen


oktatas:web:javascript:regex

< JavaScript

JavaScript Regex

  • Szerző: Sallai András
  • Copyright © Sallai András, 2015, 2017
  • Licenc: GNU Free Documentation License 1.3

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

/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ó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
^ 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é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

oktatas/web/javascript/regex.txt · Utolsó módosítás: 2019/08/22 20:06 szerkesztette: admin