PHP 8.1.0 RC 2 available for testing

RegexIterator::__construct

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RegexIterator::__constructКонструктор класса RegexIterator

Описание

public RegexIterator::__construct(
    Iterator $iterator,
    string $pattern,
    int $mode = RegexIterator::MATCH,
    int $flags = 0,
    int $pregFlags = 0
)

Создаёт новый объект класса RegexIterator, который фильтрует элементы итератора Iterator основываясь на регулярном выражении.

Список параметров

iterator

Итератор, к элементам которого требуется применить фильтр.

pattern

Регулярное выражение, на основе которого проводится отбор элементов.

mode

Режим работы. Список возможных режимов можно посмотреть в описании к методу RegexIterator::setMode().

flags

Специальные флаги. Список возможных флагов приведён в описании к методу RegexIterator::setFlags().

pregFlags

Флаги регулярного выражения. Список возможных флагов зависит от режима работы:

RegexIterator preg_flags
режим работы доступные флаги
RegexIterator::ALL_MATCHES Смотрите preg_match_all().
RegexIterator::GET_MATCH Смотрите preg_match().
RegexIterator::MATCH Смотрите preg_match().
RegexIterator::REPLACE нет
RegexIterator::SPLIT Смотрите preg_split().

Ошибки

Выбрасывает исключение InvalidArgumentException, если pattern задан некорректно.

Примеры

Пример #1 Пример использования RegexIterator::__construct()

Создаёт новый объект RegexIterator, который отбирает строки, начинающиеся со слова 'test'.

<?php
$arrayIterator 
= new ArrayIterator(array('test 1''another test''test 123'));
$regexIterator = new RegexIterator($arrayIterator'/^test/');

foreach (
$regexIterator as $value) {
    echo 
$value "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

test 1
test 123

Смотрите также

  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • preg_match_all() - Выполняет глобальный поиск шаблона в строке
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • preg_split() - Разбивает строку по регулярному выражению

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top