Komanda 'ili' u regularnim izrazima JavaScript
U ovoj lekciji ćemo analizirati komandu
'|', koja predstavlja moćniju
variantu 'ili' u poređenju
sa komandom [ ]. Ova komanda omogućava
podelu regularnog izraza na nekoliko delova.
Pritom traženi tekst može odgovarati bilo jednom
delu regularnog izraza, bilo drugom. Pogledajmo
na primerima.
Primer
U ovom primeru šablon pretrage je sledeći: tri
slova 'a' ili tri slova 'b':
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Kao rezultat, u promenljivu će biti upisano sledeće:
'! ! abb'
Primer
U ovom primeru šablon pretrage je sledeći: tri
slova 'a' ili od 1 i više
slova 'b':
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Kao rezultat, u promenljivu će biti upisano sledeće:
'! ! ! ! axx'
Primer
U ovom primeru šablon pretrage je sledeći: jedno ili više slova ili tri cifre:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Kao rezultat, u promenljivu će biti upisano sledeće:
'! ! ! 1 12 !'
Primer
Vertikalna crta može podeliti regularni izraz ne na dva dela, već na bilo koji broj delova:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Kao rezultat, u promenljivu će biti upisano sledeće:
'! ! ! ddd'
Primer
Ako se vertikalna crta nalazi unutar okruglih
zagrada, onda 'ili' radi samo unutar
tih zagrada.
Na primer, hajde da pronađemo stringove prema sledećem
šablonu: na početku stoji ili 'a',
ili 'b' jedan ili više puta, a zatim
dva slova 'x':
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Kao rezultat, u promenljivu će biti upisano sledeće:
'! ! ! exx'
Praktični zadaci
Dat je string:
let str = 'aeeea aeea aea axa axxa axxxa';
Napišite regularni izraz koji će pronaći stringove
po šablonu: na krajevima stoje slova 'a',
a između njih - ili slovo 'e' bilo koji
broj puta ili slovo 'x' bilo koji
broj puta.
Dat je string:
let str = 'aeeea aeea aea axa axxa axxxa';
Napišite regularni izraz koji će pronaći stringove
po šablonu: na krajevima stoje slova 'a',
a između njih - ili slovo 'e' dva puta
ili slovo 'x' bilo koji broj puta.