Función preg_grep
La función preg_grep devuelve un array de elementos que coinciden con la expresión regular dada. El primer parámetro de la función acepta una cadena con la expresión regular, y el segundo - el array para buscar. El tercer parámetro opcional determina si se deben devolver los elementos que no coinciden con la expresión regular.
Sintaxis
preg_grep(pattern, array, [flags]);
Banderas
| Bandera | Descripción |
|---|---|
PREG_GREP_INVERT |
Invierte el resultado - devuelve los elementos que NO coinciden con el patrón. |
PREG_GREP_NO_ERROR |
No genera error con expresión regular incorrecta (PHP 8.1+). |
Ejemplo
Encontremos todos los elementos del array que comienzan con un dígito:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Resultado de la ejecución del código:
['2b', '4d']
Ejemplo
Usemos la bandera PREG_GREP_INVERT para obtener los elementos que NO coinciden con la expresión regular:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
Resultado de la ejecución del código:
['a1', 'c3', 'e5']
Ejemplo
Encontremos todos los elementos del array que contienen solo dígitos:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Resultado de la ejecución del código:
['123', '45', '678']
Ver también
-
la función
preg_match,
que realiza la verificación de coincidencia con una expresión regular -
la función
preg_replace,
que realiza búsqueda y reemplazo mediante expresión regular