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
$str = 'xabx xababx xaabbx';
$res = preg_replace('#x(ab)+x#', '!', $str);
?>
Výsledkom zapísaným do premennej bude:
'! ! xaabbx'
Daný reťazec:
<?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.