RegexIterator::__construct

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

RegexIterator::__construct新しい RegexIterator を作成する

説明

publicRegexIterator::__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_MATCHESpreg_match_all() を参照ください。
RegexIterator::GET_MATCHpreg_match() を参照ください。
RegexIterator::MATCHpreg_match() を参照ください。
RegexIterator::REPLACE なし。
RegexIterator::SPLITpreg_split() を参照ください。

エラー / 例外

引数 pattern が無効な場合に InvalidArgumentException をスローします。

例1 RegexIterator::__construct() の例

'test' で始まるすべての文字列を取り出す新しい RegexIterator を作成します。

<?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

参考

To Top