La syntaxe des masques utilisés dans ces fonctions ressemble fort à celle de Perl. Les expressions seront entourées de délimiteurs, slash (/), par exemple. N'importe quel caractère peut servir de délimiteur, tant qu'il n'est pas alpha-numérique ou n'est pas un anti-slash (\). Si un délimiteur doit être utilisé dans l'expression, il faudra l'échapper avec un anti-slash. Depuis PHP 4.0.4, vous pouvez utiliser les délimiteurs (), {}, [], et <>, comme en Perl. Voir la syntaxe des masques pour plus d'explications.
Le délimiteur final peut être suivi d'options qui affecteront la recherche. Voir aussi options de recherche.
PHP supporte également les expressions rationnelles utilisant la syntaxe POSIX étendue (fonctions REGEX POSIX-extended).
Avertissement |
Vous devez être conscient des limitations de PCRE. Lisez http://www.pcre.org/pcre.txt pour plus de détails. |
Le support des expressions rationnelles est assuré par la bibliothèque PCRE, qui est open source, et écrite par Philip Hazel. Elle est soumise au copyright de l'University of Cambridge, Angleterre. Elle est disponible à ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/.
A partir de PHP 4.2.0, ces fonctions sont activées par défaut. Pour les anciennes versions, vous devez configurer et compiler PHP avec l'option --with-pcre-regex afin de pouvoir les utiliser. Utilisez --with-pcre-regex=DIR pour spécifier le répertoire où la bibliothèque PCRE est installée si vous n'utilisez pas la bibliothèque incluse dans PHP. Pour les versions plus anciennes de PHP, vous devez configurer et compiler PHP avec --with-pcre-regex[=DIR] pour pouvoir utiliser ces fonctions.
La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.
Cette extension ne définit aucune directive de configuration.
Cette extension ne définit aucune ressource.
Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
Tableau 1. Constantes PREG
Constante | Description |
---|---|
PREG_PATTERN_ORDER | Ordonne les résultats de façon à ce que $matches[0] contienne les résultats qui correspondent au masque entier, $matches[1] ceux qui correspondent à la première parenthèse capturante, $matches[2] ceux qui correspondent à la deuxième parenthèse capturante, etc. Cette constante est utilisée avec preg_match_all(). |
PREG_SET_ORDER | Les résultats sont classés de telle façon que $matches[0] contient la première série de résultat, $matches[1] la deuxième, etc. Cette constante est utilisée avec preg_match_all(). |
PREG_OFFSET_CAPTURE | Voir la description de PREG_SPLIT_OFFSET_CAPTURE. Cette constante est utilisée depuis PHP 4.3.0 . |
PREG_SPLIT_NO_EMPTY | Si cette option est activée, seules les sous-chaînes non vides seront retournées par preg_split(). |
PREG_SPLIT_DELIM_CAPTURE | Si cette option est activée, les expressions entre parenthèses entre les délimiteurs de masques seront aussi capturées et retournées. Cette option a été ajoutée en PHP 4.0.5. Cette constante est utilisée avec preg_split(). |
PREG_SPLIT_OFFSET_CAPTURE | Si cette constante est utilisée avec preg_split(), l'offset de début de résultat sera retourné, en plus de la chaîne résultat. Notez que cela change la nature du résultat retourné en un tableau contenant une chaîne à l'offset 0 et une chaîne contenant un offset à l'offset 1. Cette option est disponible depuis PHP 4.3.0. |
Précédent | Sommaire | Suivant |
pcntl_wtermsig | Niveau supérieur | options de recherche |