Parentesi raggruppanti nelle espressioni regolari PHP
Negli esempi precedenti, gli operatori di ripetizione agivano solo su un carattere che li precedeva. Cosa fare se vogliamo applicarli a più caratteri?
Per questo esistono le parentesi raggruppanti
'(' e ')'. Funzionano così:
se qualcosa è racchiuso tra parentesi raggruppanti
e subito dopo ')' c'è un operatore di ripetizione
- esso agirà su tutto ciò che è dentro le parentesi.
Nel prossimo esempio il modello di ricerca è
il seguente: lettera 'x', poi la stringa 'ab'
una o più volte, poi lettera 'x':
<?php
$str = 'xabx xababx xaabbx';
$res = preg_replace('#x(ab)+x#', '!', $str);
?>
Di conseguenza, nella variabile verrà memorizzato quanto segue:
'! ! xaabbx'
Data la stringa:
<?php
$str = 'ab abab abab abababab abea';
?>
Scrivi un'espressione regolare che trovi le stringhe
secondo il modello: stringa 'ab' ripetuta
1 o più volte.