Zoskupujúce zátvorky v regulárnych výrazoch PHP

V predchádzajúcich príkladoch operátory opakovania pôsobili len na jeden znak, ktorý stál pred nimi. Čo robiť, ak chceme, aby pôsobili na viacero znakov?

Na to existujú zoskupujúce zátvorky '(' a ')'. Fungujú tak: ak niečo stojí v zoskupujúcich zátvorkách a hneď za ')' stojí operátor opakovania - bude pôsobiť na všetko, čo je vo vnútri zátvoriek.

V nasledujúcom príklade vyhľadávací vzor vyzerá takto: písmeno 'x', potom reťazec 'ab' jeden alebo viac krát, potom písmeno 'x':

php<?php
  $str = 'xabx xababx xaabbx';
  $res = preg_replace('#x(ab)+x#', '!', $str);
?>

Výsledkom zapísaným do premennej bude:

php'! ! xaabbx'
Задание 1

Daný reťazec:

php<?php
  $str = 'ab abab abab abababab abea';
?>

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: reťazec 'ab' sa opakuje 1 alebo viackrát.