Manuel PHP

Précédent

 

Suivant

Options de recherche

Options de recherche

Description

Les options de PCRE sont listées ci dessous . Les noms entre parenthèses sont les noms internes à PCRE .

i (PCRE_CASELESS)
Effectue une recherche insensible à la casse.
m (PCRE_MULTILINE)
Par défaut, PCRE traite la chaîne sujet comme une seule ligne (même si cette chaîne contient des retours chariot). Le méta caractère "début de ligne" (^) ne sera valable quíune seule fois, au début de la ligne, et le méta caractère "fin de ligne " ($) ne sera valable quíà la fin de la chaîne, ou avant le retour chariot final. (à moins que líoption E ne soit mise). Cíest la même chose quíen Perl.
Lorsque cette option est mise, " début de ligne " et " fin de ligne " correspondront alors aux caractères suivant et précédent immédiatement un caractère de nouvelle ligne, en plus du début et de la fin de la chaîne. Cíest la même chose que líoption Perl /m. Si il níy a pas de caractère de nouvelle ligne "\n" dans la chaîne sujet, ou si il níy a aucune occurrence de ^ ou $ dans le masque, cette option ne sert à rien.
s (PCRE_DOTALL)
Avec cette option, le méta caractère point (.) remplace níimporte quel caractère, y compris les nouvelles lignes. Sans cette option, le caractère point ne remplace pas les nouvelles lignes. Cette option est équivalente à líoption Perl /s. Une classe de caractère négative telle que [^a] acceptera toujours les caractères de nouvelles lignes, indépendamment de cette option.
x (PCRE_EXTENDED)
Avec cette option, les caractères díespacement sont ignorés, sauf lorsquíils sont échappés, ou à líintérieur díune classe de caractère, et tous les caractères entre # non échappés et en dehors díune classe de caractère, et le prochain caractère de nouvelle ligne sont ignorés. Cíest líéquivalent Perl de líoption /x : elle permet líajout de commentaires dans les masques compliqués. Notez bien, cependant, que cela ne síappliquent quíaux caractères de données. Les caractères díespacement ne doivent jamais apparaître dans les séquences spéciales díun masque, comme par exemple dans la séquence (?( qui introduit une parenthèse conditionnelle.
e
Avec cette option, preg_replace() effectue la substitution normale des \\ dans la chaîne de remplacment, puis líévalue comme un code PHP, et utilise le résultat pour remplacer la chaîne de recherche.
Seule preg_replace() utilise cette option. Elle est ignorée par les autres.
A (PCRE_ANCHORED)
Avec cette option, le masque est ancré de force, cíest à dire que le masque doit síappliquer entre le début et la fin de la chaîne sujet pour être considéré comme trouvé. Il est possible de réaliser le même effet en ajoutant les méta caractères adéquats, ce qui est la seule manière de le faire en Perl.
E (PCRE_DOLLAR_ENDONLY)
Avec cette option, le méta caractère $ ne sera valable quíà la fin de la chaîne sujet. Sans cette option, $ est aussi valable avant une nouvelle ligne, si cette dernière est le dernier caractère de la chaîne. Cette option est ignorée si líoption m est mise. Il níy a pas díéquivalent en Perl.
S
Lorsquíun masque est utilisé plusieurs fois, cela vaut la peine de passer quelques instant de plus pour líanalyser et optimiser le code pour accélérer les traitements ultérieurs. Cette option force cette analyse plus poussée. Actuellement, cette analyse níest utile que pour les masques non ancrés, qui ne commencent pas par un caractère fixe.
U (PCRE_UNGREEDY)
Cette option inverse la tendance à la gourmandise des expressions régulières. Vous pouvez aussi inverser cette tendance au coup par coup avec un ?. De même, si cette option est mise, le ? rendra gourmand une séquence. Cette option níest pas compatible avec Perl. Elle peut aussi être mise dans le masque avec líoption (?U).
X (PCRE_EXTRA)
Cette option ajoute díautres fonctionnalités incompatible avec le PCRE de Perl. Tous les backslash suivis díune lettre qui níaurai pas de signification particulière cause une erreur, permettant la reservation de ces combinaisons pour des ajouts fonctionnels ultérieurs. Par défaut, comme en Perl, les backslash suivi díune lettre sans signification particulière sont traités comme des valeurs litérales. Actuellement, cette option ne déclenche pas díautre fonctions.

Précédent

Sommaire

Suivant

preg_grep

Chapitre

Pattern Syntax