(PHP 5 >= 5.2.0, PHP 7)
RecursiveRegexIterator::__construct — Crea un nuevo RecursiveRegexIterator
$iterator
   , string $regex
   [, int $mode = self::MATCH
   [, int $flags = 0
   [, int $preg_flags = 0
  ]]] )Crea un nuevo iterador de expresión regular.
iteratorEl iterador recursivo al que se le va a aplicar el filtro regex.
regexLa expresión regular a coincidir.
modeModo de operación, véase RegexIterator::setMode() para una lista de todos los modos.
flagsFlags especiales, véase RegexIterator::setFlags() para una lista de todas las flags disponibles.
preg_flagsLas flags de expresión regular. De estas flags depende el parámetro de modo de funcionamiento.
| Modo de operación | flags disponibles | 
|---|---|
| RecursiveRegexIterator::ALL_MATCHES | Véase preg_match_all(). | 
| RecursiveRegexIterator::GET_MATCH | Véase preg_match(). | 
| RecursiveRegexIterator::MATCH | Véase preg_match(). | 
| RecursiveRegexIterator::REPLACE | nada. | 
| RecursiveRegexIterator::SPLIT | Véase preg_split(). | 
Ejemplo #1 Ejemplo de RecursiveRegexIterator::__construct()
Crear un nuevo RegexIterator que filtre todos los string que empiezan con 'test'
<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);
foreach ($rRegexIterator as $key1 => $value1) {
    if ($rRegexIterator->hasChildren()) {
        // print all children
        echo "Hijos: ";
        foreach ($rRegexIterator->getChildren() as $key => $value) {
            echo $value . " ";
        }
        echo "\n";
    } else {
        echo "No tiene hijos\n";
    }
}
?>
El resultado del ejemplo sería algo similar a:
No tiene hijos Hijos: test4 test5