Paréntesis de agrupación en expresiones regulares de PHP
En ejemplos anteriores, los operadores de repetición actuaban solo sobre un carácter que estaba delante de ellos. ¿Qué hacer si queremos que actúen sobre varios caracteres?
Para esto existen los paréntesis de agrupación
'(' y ')'. Funcionan así:
si algo está entre paréntesis de agrupación
y justo después de ')' hay un operador de repetición
- actuará sobre todo lo que está dentro de los paréntesis.
En el siguiente ejemplo, el patrón de búsqueda se ve
así: letra 'x', luego la cadena 'ab'
una o más veces, después letra 'x':
<?php
$str = 'xabx xababx xaabbx';
$res = preg_replace('#x(ab)+x#', '!', $str);
?>
Como resultado, en la variable se escribirá lo siguiente:
'! ! xaabbx'
Dada la cadena:
<?php
$str = 'ab abab abab abababab abea';
?>
Escriba una expresión regular que encuentre las cadenas
según el patrón: cadena 'ab' repetida
1 o más veces.