Az 'vagy' parancs a JavaScript reguláris kifejezéseiben
Ebben a leckében megvizsgáljuk a
'|' parancsot, amely a
[ ] parancsnál hatékonyabb
'vagy' változatot kínál.
Ez a parancs lehetővé teszi a
reguláris kifejezés több részre
bontását. Az illeszkedő elem lehet
vagy a regex egyik része, vagy a
másik. Nézzük példákon keresztül.
Példa
Ebben a példában a keresési minta a következő: három
'a' betű vagy három 'b' betű:
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Ennek eredményeképpen a változó a következő értéket kapja:
'! ! abb'
Példa
Ebben a példában a keresési minta a következő: három
'a' betű vagy legalább 1
'b' betű:
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Ennek eredményeképpen a változó a következő értéket kapja:
'! ! ! ! axx'
Példa
Ebben a példában a keresési minta a következő: egy vagy több betű vagy három számjegy:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Ennek eredményeképpen a változó a következő értéket kapja:
'! ! ! 1 12 !'
Példa
A függőleges vonal nem csak két részre, hanem tetszőleges számú részre oszthatja a regexet:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Ennek eredményeképpen a változó a következő értéket kapja:
'! ! ! ddd'
Példa
Ha a függőleges vonal kerek zárójelek
között található, akkor a 'vagy' művelet
csak ezen zárójelek között érvényes.
Példaként keressük meg a következő minta
alapján illeszkedő sztringeket: az elején
'a' vagy 'b' áll egy vagy többször,
majd két 'x' betű következik:
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Ennek eredményeképpen a változó a következő értéket kapja:
'! ! ! exx'
Gyakorlati feladatok
Adott a következő sztring:
let str = 'aeeea aeea aea axa axxa axxxa';
Írj reguláris kifejezést, amely megtalálja a
következő mintának megfelelő sztringeket:
a széleken 'a' betűk állnak,
köztük - vagy 'e' betű bármennyiszer
vagy 'x' betű bármennyiszer.
Adott a következő sztring:
let str = 'aeeea aeea aea axa axxa axxxa';
Írj reguláris kifejezést, amely megtalálja a
következő mintának megfelelő sztringeket:
a széleken 'a' betűk állnak,
köztük - vagy 'e' betű kétszer
vagy 'x' betű bármennyiszer.