Grupējošās iekavas PHP regulārajās izteiksmēs
Iepriekšējos piemēros atkārtošanās operatori iedarbojās tikai uz vienu simbolu, kurš stāvēja tieši pirms tiem. Ko darīt, ja mēs vēlamies, lai tie iedarbotos uz vairākiem simboliem?
Šim nolūkam pastāv grupējošās iekavas
'(' un ')'. Tās darbojas šādi:
ja kaut kas atrodas grupējošās iekavās
un uzreiz aiz ')' atrodas atkārtošanās operators
- tas iedarbosies uz visu, kas atrodas iekavās.
Nākamajā piemērā meklēšanas šablons izskatās
šādi: burti 'x', pēc tam virkne 'ab'
vienu vai vairāk reizes, tad burts 'x':
<?php
$str = 'xabx xababx xaabbx';
$res = preg_replace('#x(ab)+x#', '!', $str);
?>
Rezultātā mainīgajā tiks ierakstīts sekojošs:
'! ! xaabbx'
Dota virkne:
<?php
$str = 'ab abab abab abababab abea';
?>
Uzrakstiet regulāro izteiksmi, kas atradīs virknes
pēc šablona: virkne 'ab' atkārtojas
1 vai vairāk reizes.