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':

javascriptlet str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');

Kao rezultat u promenljivu će biti upisano sledeće:

javascript'xx ! ! ! xbx'

Primer

Naći ćemo sve podstringove po šablonu slovo 'x', slovo 'a' nula ili više puta, slovo 'x':

javascriptlet str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');

Kao rezultat u promenljivu će biti upisano sledeće:

javascript'! ! ! ! xbx'

Primer

Naći ćemo sve podstringove po šablonu slovo 'x', slovo 'a' nula ili jedan put, slovo 'x':

javascriptlet str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');

Kao rezultat u promenljivu će biti upisano sledeće:

javascript'! ! xaax xbx'

Praktični zadaci

Задание 1

Data je sledeća string:

javascriptlet 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'.

Задание 2

Data je sledeća string:

javascriptlet 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'.

Задание 3

Data je sledeća string:

javascriptlet 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'.

Задание 4

Data je sledeća string:

javascriptlet 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'.