Komanda 'ose' në shprehjet e rregullta JavaScript
Në këtë mësim do të analizojmë komandën
'|', e cila përfaqëson një variant
më të fuqishëm të 'ose' në krahasim
me komandën [ ]. Kjo komandë lejon
ndarjen e regex në disa pjesë.
Në këtë rast, ajo që kërkohet mund
të përshtatet ose në një pjesë
të regex, ose në një tjetër. Le të
shohim me shembuj.
Shembull
Në këtë shembull, modeli i kërkimit është: tri
shkronja 'a' ose tri shkronja 'b':
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Si rezultat, në variabël do të shkruhet si më poshtë:
'! ! abb'
Shembull
Në këtë shembull, modeli i kërkimit është: tri
shkronja 'a' ose nga 1 e më shumë
shkronja 'b':
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Si rezultat, në variabël do të shkruhet si më poshtë:
'! ! ! ! axx'
Shembull
Në këtë shembull, modeli i kërkimit është: një ose më shumë shkronja ose tre shifra:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Si rezultat, në variabël do të shkruhet si më poshtë:
'! ! ! 1 12 !'
Shembull
Vija vertikale mund ta ndajë regex jo në dy pjesë, por në çdo numër pjesësh:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Si rezultat, në variabël do të shkruhet si më poshtë:
'! ! ! ddd'
Shembull
Nëse vija vertikale qëndron brenda kllapave
të rrumbullakëta, atëherë 'ose' punon vetëm brenda
atyre kllapave.
Si shembull, le të gjejmë stringjet sipas modelit
vijues: në fillim qëndron ose 'a',
ose 'b' një ose më shumë herë, e më pas
dy shkronja 'x':
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Si rezultat, në variabël do të shkruhet si më poshtë:
'! ! ! exx'
Detyra praktike
Është dhënë stringu:
let str = 'aeeea aeea aea axa axxa axxxa';
Shkruani një regex, e cila do të gjejë stringjet
sipas modelit: në anët qëndrojnë shkronjat 'a',
ndërsa midis tyre - ose shkronja 'e' çdo
numër herësh ose shkronja 'x' çdo
numër herësh.
Është dhënë stringu:
let str = 'aeeea aeea aea axa axxa axxxa';
Shkruani një regex, e cila do të gjejë stringjet
sipas modelit: në anët qëndrojnë shkronjat 'a',
ndërsa midis tyre - ose shkronja 'e' dy herë
ose shkronja 'x' çdo numër herësh.