# The RegexIterator class

(PHP 5 >= 5.2.0, PHP 7)

## Introduction

This iterator can be used to filter another iterator based on a regular expression.

## Class synopsis

RegexIterator extends FilterIterator {
/* Constants */
const int MATCH = 0 ;
const int GET_MATCH = 1 ;
const int ALL_MATCHES = 2 ;
const int SPLIT = 3 ;
const int REPLACE = 4 ;
const int USE_KEY = 1 ;
/* Methods */
public __construct ( Iterator `$iterator` , string `$regex` [, int `$mode` = self::MATCH [, int `$flags` = 0 [, int `$preg_flags` = 0 ]]] )
public accept ( ) : bool
public getFlags ( ) : int
public getMode ( ) : int
public getPregFlags ( ) : int
public getRegex ( ) : string
public setFlags ( int `$flags` ) : void
public setMode ( int `$mode` ) : void
public setPregFlags ( int `$preg_flags` ) : void
/* Inherited methods */
public abstract FilterIterator::accept ( ) : bool
public FilterIterator::__construct ( Iterator `$iterator` )
public FilterIterator::current ( ) : mixed
public FilterIterator::getInnerIterator ( ) : Iterator
public FilterIterator::key ( ) : mixed
public FilterIterator::next ( ) : void
public FilterIterator::rewind ( ) : void
public FilterIterator::valid ( ) : bool
}

## Predefined Constants

## RegexIterator operation modes

`RegexIterator::ALL_MATCHES`

  Return all matches for the current entry (see preg_match_all()).

`RegexIterator::GET_MATCH`

  Return the first match for the current entry (see preg_match()).

`RegexIterator::MATCH`

  Only execute match (filter) for the current entry (see preg_match()).

`RegexIterator::REPLACE`

  Replace the current entry (see preg_replace(); Not fully implemented yet)

`RegexIterator::SPLIT`

  Returns the split values for the current entry (see preg_split()).

## RegexIterator Flags

`RegexIterator::USE_KEY`

  Special flag: Match the entry key instead of the entry value.

## Table of Contents

- RegexIterator::accept — Get accept status
- RegexIterator::__construct — Create a new RegexIterator
- RegexIterator::getFlags — Get flags
- RegexIterator::getMode — Returns operation mode
- RegexIterator::getPregFlags — Returns the regular expression flags
- RegexIterator::getRegex — Returns current regular expression
- RegexIterator::setFlags — Sets the flags
- RegexIterator::setMode — Sets the operation mode
- RegexIterator::setPregFlags — Sets the regular expression flags