Nawiasy grupujące w wyrażeniach regularnych PHP

W poprzednich przykładach operatory powtórzeń działały tylko na jeden znak, który stał przed nimi. Co zrobić, jeśli chcemy zastosować je do kilku znaków?

Do tego służą nawiasy grupujące '(' i ')'. Działają one tak: jeśli coś stoi w nawiasach grupujących i zaraz po ')' stoi operator powtórzenia - zadziała on na wszystko, co znajduje się wewnątrz nawiasów.

W następnym przykładzie wzorzec wyszukiwania wygląda następująco: litera 'x', następnie ciąg 'ab' jeden lub więcej razy, potem litera 'x':

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

W rezultacie do zmiennej zapisze się następująca wartość:

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

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: ciąg 'ab' powtarza się 1 lub więcej razy.