Operatorët e përsëritjes së karaktereve në regex
Ndodhin situata kur duam të tregojmë,
që një karakter përsëritet një numër të caktuar
herësh. Nëse e dimë numrin e saktë të përsëritjeve,
atëherë thjesht mund ta shkruajmë disa herë
- /aaaa/. Por çfarë duhet bërë nëse duam
të themi këtë: përsërit një ose më shumë
herë?
Për këtë ekzistojnë operatorët (kuantifikuesit)
e përsëritjes: plus + (një ose më shumë herë),
yll * (zero ose më shumë herë) dhe
pikëpyetje ? (zero ose një herë). Këta
operatorë veprojnë mbi atë karakter që
qëndron përpara tyre.
Le të shohim punën e këtyre operatorëve në shembuj.
Shembull
Le të gjejmë të gjitha nënvargjet sipas shabllonit shkronjë
'x', shkronjë 'a' një ose më shumë
herë, shkronjë 'x':
let str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');
Si rezultat në variabël do të shkruhet si vijon:
'xx ! ! ! xbx'
Shembull
Le të gjejmë të gjitha nënvargjet sipas shabllonit shkronjë
'x', shkronjë 'a' zero ose më shumë
herë, shkronjë 'x':
let str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');
Si rezultat në variabël do të shkruhet si vijon:
'! ! ! ! xbx'
Shembull
Le të gjejmë të gjitha nënvargjet sipas shabllonit shkronjë
'x', shkronjë 'a' zero ose një
herë, shkronjë 'x':
let str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');
Si rezultat në variabël do të shkruhet si vijon:
'! ! xaax xbx'
Detyra praktike
Është dhënë vargu:
let str = 'aa aba abba abbba abca abea';
Shkruani një regex që do të gjejë vargjet
'aba', 'abba', 'abbba'
sipas shabllonit: shkronjë 'a', shkronjë 'b'
çfarëdo numër herësh, shkronjë 'a'.
Është dhënë vargu:
let str = 'aa aba abba abbba abca abea';
Shkruani një regex që do të gjejë vargjet
'aa', 'aba', 'abba',
'abbba' sipas shabllonit: shkronjë 'a',
shkronjë 'b' çfarëdo numër herësh (përfshirë
asnjë herë), shkronjë 'a'.
Është dhënë vargu:
let str = 'aa aba abba abbba abca abea';
Shkruani një regex që do të gjejë vargjet
'aa', 'aba' sipas shabllonit: shkronjë
'a', shkronjë 'b' një herë ose
asnjë, shkronjë 'a'.
Është dhënë vargu:
let str = 'aa aba abba abbba abca abea';
Shkruani një regex që do të gjejë vargjet
'aa', 'aba', 'abba',
'abbba', pa kapur 'abca'
dhe 'abea'.