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
$str = 'xabx xababx xaabbx';
$res = preg_replace('#x(ab)+x#', '!', $str);
?>
W rezultacie do zmiennej zapisze się następująca wartość:
'! ! xaabbx'
Dany jest ciąg:
<?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.