Grupeerivad sulud PHP regulaaravaldistes
Eelmistes näidetes kehtisid kordusoperaatorid ainult ühele sümbolile, mis seisis nende ees. Mida teha, kui tahame neid rakendada mitmele sümbolile?
Selleks on olemas grupeerivad sulud
'(' ja ')'. Nad töötavad nii:
kui midagi on grupeerivates sulgudes
ja kohe pärast ')' on kordusoperaator
- mõjub see kõigele, mis on sulgude sees.
Järgmises näites on otsimismustril
järgmine välimus: täht 'x', seejärel string 'ab'
üks või mitu korda, siis täht 'x':
<?php
$str = 'xabx xababx xaabbx';
$res = preg_replace('#x(ab)+x#', '!', $str);
?>
Tulemusena kirjutatakse muutujasse järgmine:
'! ! xaabbx'
Antud string:
<?php
$str = 'ab abab abab abababab abea';
?>
Kirjutage regulaaravaldis, mis leiab stringid
vastavalt mustrile: string 'ab' kordub
1 või enam korda.