PHP 8.5.0 Beta 3 available for testing

RecursiveRegexIterator::__construct

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

RecursiveRegexIterator::__construct โ€” ๆ–ฐใ—ใ„ RecursiveRegexIterator ใ‚’ไฝœๆˆใ™ใ‚‹

่ชฌๆ˜Ž

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

ๆ–ฐใ—ใ„ๆญฃ่ฆ่กจ็พใ‚คใƒ†ใƒฌใƒผใ‚ฟใ‚’ไฝœๆˆใ—ใพใ™ใ€‚

ใƒ‘ใƒฉใƒกใƒผใ‚ฟ

iterator

ใ“ใฎๆญฃ่ฆ่กจ็พใƒ•ใ‚ฃใƒซใ‚ฟใ‚’้ฉ็”จใ™ใ‚‹ใ‚คใƒ†ใƒฌใƒผใ‚ฟใ€‚

pattern

ใƒžใƒƒใƒใ•ใ›ใ‚‹ๆญฃ่ฆ่กจ็พใ€‚

mode

ๆ“ไฝœใƒขใƒผใƒ‰ใ€‚ใƒขใƒผใƒ‰ใฎไธ€่ฆงใฏ RegexIterator::setMode() ใ‚’ๅ‚็…งใใ ใ•ใ„ใ€‚

flags

็‰นๆฎŠใชใƒ•ใƒฉใ‚ฐใ€‚ใƒ•ใƒฉใ‚ฐใฎไธ€่ฆงใฏ RegexIterator::setFlags() ใ‚’ๅ‚็…งใใ ใ•ใ„ใ€‚

pregFlags

ๆญฃ่ฆ่กจ็พใƒ•ใƒฉใ‚ฐใ€‚ใ“ใ‚Œใ‚‰ใฎใƒ•ใƒฉใ‚ฐใฏๆ“ไฝœใƒขใƒผใƒ‰ใซไพๅญ˜ใ—ใพใ™ใ€‚

RegexIterator preg_flags
ๆ“ไฝœใƒขใƒผใƒ‰ ไฝฟ็”จๅฏ่ƒฝใชใƒ•ใƒฉใ‚ฐ
RecursiveRegexIterator::ALL_MATCHES preg_match_all() ใ‚’ๅ‚็…งใใ ใ•ใ„ใ€‚
RecursiveRegexIterator::GET_MATCH preg_match() ใ‚’ๅ‚็…งใใ ใ•ใ„ใ€‚
RecursiveRegexIterator::MATCH preg_match() ใ‚’ๅ‚็…งใใ ใ•ใ„ใ€‚
RecursiveRegexIterator::REPLACE ใชใ—ใ€‚
RecursiveRegexIterator::SPLIT preg_split() ใ‚’ๅ‚็…งใใ ใ•ใ„ใ€‚

ไพ‹

ไพ‹1 RecursiveRegexIterator::__construct() ใฎไพ‹

'test' ใงๅง‹ใพใ‚‹ใ™ในใฆใฎๆ–‡ๅญ—ๅˆ—ใ‚’ๅ–ใ‚Šๅ‡บใ™ๆ–ฐใ—ใ„ RegexIterator ใ‚’ไฝœๆˆใ—ใพใ™ใ€‚

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

// ใ™ในใฆใฎๅญใ‚’่กจ็คบใ—ใพใ™
echo "Children: ";
foreach (
$rRegexIterator->getChildren() as $key => $value) {
echo
$value . " ";
}
echo
"\n";
} else {
echo
"No children\n";
}

}
?>

ไธŠใฎไพ‹ใฎๅ‡บๅŠ›ใฏใ€ ใŸใจใˆใฐไปฅไธ‹ใฎใ‚ˆใ†ใซใชใ‚Šใพใ™ใ€‚

No children
Children: test4 test5

ๅ‚่€ƒ

  • preg_match() - ๆญฃ่ฆ่กจ็พใซใ‚ˆใ‚‹ใƒžใƒƒใƒใƒณใ‚ฐใ‚’่กŒใ†
  • preg_match_all() - ็นฐใ‚Š่ฟ”ใ—ๆญฃ่ฆ่กจ็พๆคœ็ดขใ‚’่กŒใ†
  • preg_replace() - ๆญฃ่ฆ่กจ็พๆคœ็ดขใŠใ‚ˆใณ็ฝฎๆ›ใ‚’่กŒใ†
  • preg_split() - ๆญฃ่ฆ่กจ็พใงๆ–‡ๅญ—ๅˆ—ใ‚’ๅˆ†ๅ‰ฒใ™ใ‚‹

๏ผ‹add a note

User Contributed Notes 1 note

up
-1
SongoQ ยถ
15 years ago
RecursiveRegexIterator::ALL_MATCHES List all subdirectories and files.

<?php

$a
= new RecursiveRegexIterator( new RecursiveDirectoryIterator(
'/home/songoq' ), '/mydir/i', RecursiveRegexIterator::ALL_MATCHES );

foreach( new
RecursiveIteratorIterator( $a ) as $s )
{
echo
$s."\n";
}
To Top