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()

错误/异常

如果 pattern 参数无效,则抛出 InvalidArgumentException

示例

示例 #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

参见

添加备注

用户贡献的笔记

此页面没有用户贡献的笔记。
To Top