Operator ponavljanja karaktera u regularnim izrazima
Ponekad se javljaju situacije kada želimo da naznačimo
da se karakter ponavlja određeni broj puta.
Ako znamo tačan broj ponavljanja,
možemo ga jednostavno napisati više puta
- /aaaa/. Ali šta da radimo ako želimo
da kažemo ovo: ponoviti jedan ili više
puta?
Za to postoje operatori (kvantifikatori)
ponavljanja: plus + (jedan ili više puta),
zvezdica * (nula ili više puta) i
upitnik ? (nula ili jedan put). Ovi
operatori deluju na onaj karakter koji
stoji ispred njih.
Pogledajmo rad ovih operatora na primerima.
Primer
Naći ćemo sve podstringove po šablonu slovo
'x', slovo 'a' jedan ili više
puta, slovo 'x':
let str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');
Kao rezultat u promenljivu će biti upisano sledeće:
'xx ! ! ! xbx'
Primer
Naći ćemo sve podstringove po šablonu slovo
'x', slovo 'a' nula ili više
puta, slovo 'x':
let str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');
Kao rezultat u promenljivu će biti upisano sledeće:
'! ! ! ! xbx'
Primer
Naći ćemo sve podstringove po šablonu slovo
'x', slovo 'a' nula ili jedan
put, slovo 'x':
let str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');
Kao rezultat u promenljivu će biti upisano sledeće:
'! ! xaax xbx'
Praktični zadaci
Data je sledeća string:
let str = 'aa aba abba abbba abca abea';
Napišite regularni izraz koji će pronaći stringove
'aba', 'abba', 'abbba'
po šablonu: slovo 'a', slovo 'b'
bilo koji broj puta, slovo 'a'.
Data je sledeća string:
let str = 'aa aba abba abbba abca abea';
Napišite regularni izraz koji će pronaći stringove
'aa', 'aba', 'abba',
'abbba' po šablonu: slovo 'a',
slovo 'b' bilo koji broj puta (uključujući
i nula puta), slovo 'a'.
Data je sledeća string:
let str = 'aa aba abba abbba abca abea';
Napišite regularni izraz koji će pronaći stringove
'aa', 'aba' po šablonu: slovo
'a', slovo 'b' jedan put ili
nijednom, slovo 'a'.
Data je sledeća string:
let str = 'aa aba abba abbba abca abea';
Napišite regularni izraz koji će pronaći stringove
'aa', 'aba', 'abba',
'abbba', a da ne uhvati 'abca'
i 'abea'.