Groeperende haakjes in PHP regex
In eerdere voorbeelden werkten herhalingsoperatoren alleen op één teken dat ervoor stond. Wat moeten we doen als we ze op meerdere tekens willen laten inwerken?
Hiervoor bestaan groeperende haakjes
'(' en ')'. Ze werken als volgt:
als iets tussen groeperende haakjes staat
en direct na ')' een herhalingsoperator staat
- zal deze inwerken op alles wat binnen de haakjes staat.
In het volgende voorbeeld ziet het zoekpatroon
er als volgt uit: letter 'x', gevolgd door string 'ab'
een of meer keer, daarna letter 'x':
<?php
$str = 'xabx xababx xaabbx';
$res = preg_replace('#x(ab)+x#', '!', $str);
?>
Als resultaat wordt het volgende in de variabele geschreven:
'! ! xaabbx'
Gegeven een string:
<?php
$str = 'ab abab abab abababab abea';
?>
Schrijf een reguliere expressie die strings vindt
volgens het patroon: string 'ab' herhaalt zich
1 of meer keer.