PHP Conference Nagoya 2025

RegexIterator::__construct

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

RegexIterator::__constructCrée un nouvel objet RegexIterator

Description

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

Crée un nouvel objet RegexIterator qui filtre un itérateur Iterator en utilisant une expression rationnelle.

Liste de paramètres

iterator

L'itérateur sur lequel l'expression rationnelle sera appliquée.

pattern

L'expression rationnelle.

mode

Le mode de l'opération, voir la méthode RegexIterator::setMode() pour une liste des modes.

flags

Drapeaux spéciaux, voir la méthode RegexIterator::setFlags() pour une liste des drapeaux disponibles.

pregFlags

Les drapeaux de l'expression rationnelle. Ils dépendant du mode de l'opération :

RegexIterator preg_flags
Mode de l'opération Drapeaux disponibles
RegexIterator::ALL_MATCHES Voir la fonction preg_match_all().
RegexIterator::GET_MATCH Voir la fonction preg_match().
RegexIterator::MATCH Voir la fonction preg_match().
RegexIterator::REPLACE Aucun.
RegexIterator::SPLIT Voir la fonction preg_split().

Erreurs / Exceptions

Lance une exception InvalidArgumentException si l'argument pattern est invalide.

Exemples

Exemple #1 Exemple avec RegexIterator::__construct()

Crée un nouvel objet RegexIterator qui filtre toutes les chaînes commençant par 'test'.

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

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

Résultat de l'exemple ci-dessus est similaire à :

test 1
test 123

Voir aussi

  • preg_match() - Effectue une recherche de correspondance avec une expression rationnelle standard
  • preg_match_all() - Expression rationnelle globale
  • preg_replace() - Rechercher et remplacer par expression rationnelle standard
  • preg_split() - Éclate une chaîne par expression rationnelle

add a note

User Contributed Notes

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