Karakterismétlési operátorok

Vannak helyzetek, amikor azt szeretnénk megadni, hogy egy karakter adott számú alkalommal ismétlődik. Ha ismerjük a pontos ismétlődések számát, akkor egyszerűen többször leírhatjuk - /aaaa/. De mit tegyünk, ha ezt szeretnénk mondani: ismétlődik egyszer vagy többször?

Erre vannak az ismétlési operátorok (kvantálók): plusz + (egy vagy többször), csillag * (nulla vagy többször) és kérdezőjel ? (nulla vagy egyszer). Ezek az operátorok az előttük álló karakterre hatnak.

Nézzük meg ezeknek az operátoroknak a működését példákon keresztül.

Példa

Keressük meg az összes résztartományt a betű 'x', 'a' betű egy vagy többször, 'x' betű minta szerint:

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

Ennek eredményeképpen a változóba a következő íródik:

javascript'xx ! ! ! xbx'

Példa

Keressük meg az összes résztartományt a betű 'x', 'a' betű nulla vagy többször, 'x' betű minta szerint:

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

Ennek eredményeképpen a változóba a következő íródik:

javascript'! ! ! ! xbx'

Példa

Keressük meg az összes résztartományt a betű 'x', 'a' betű nulla vagy egyszer, 'x' betű minta szerint:

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

Ennek eredményeképpen a változóba a következő íródik:

javascript'! ! xaax xbx'

Gyakorlati feladatok

Задание 1

Adott a következő sztring:

javascriptlet str = 'aa aba abba abbba abca abea';

Írj reguláris kifejezést, amely megtalálja a 'aba', 'abba', 'abbba' sztringeket a következő minta szerint: 'a' betű, 'b' betű tetszőleges számú alkalommal, 'a' betű.

Задание 2

Adott a következő sztring:

javascriptlet str = 'aa aba abba abbba abca abea';

Írj reguláris kifejezést, amely megtalálja a 'aa', 'aba', 'abba', 'abbba' sztringeket a következő minta szerint: 'a' betű, 'b' betű tetszőleges számú alkalommal (akár nulla is), 'a' betű.

Задание 3

Adott a következő sztring:

javascriptlet str = 'aa aba abba abbba abca abea';

Írj reguláris kifejezést, amely megtalálja a 'aa', 'aba' sztringeket a következő minta szerint: 'a' betű, 'b' betű egyszer vagy egyszer sem, 'a' betű.

Задание 4

Adott a következő sztring:

javascriptlet str = 'aa aba abba abbba abca abea';

Írj reguláris kifejezést, amely megtalálja a 'aa', 'aba', 'abba', 'abbba' sztringeket anélkül, hogy megfogná a 'abca' és 'abea' sztringeket.