This page has been robot translated, sorry for typos if any. Original content here.

Aide-mémoire PHP Expressions régulières

Par sujet:


^ - Début de ligne
$ - Fin de ligne

. - Tout caractère sauf les sauts de ligne (sans le paramètre /.../s)
[...] - N'importe lequel des jeux de caractères listés. Entre les crochets, les autres opérateurs ne fonctionnent pas, mais vous pouvez utiliser des métacaractères. À l'aide d'un trait d'union, vous pouvez spécifier des jeux de caractères: du premier au dernier. Par exemple, [af] signifie toute lettre de a, b, c, d, e, f.
[^ ...] - Aucun des jeux de caractères listés. Entre les crochets, les autres opérateurs ne fonctionnent pas, mais vous pouvez utiliser des métacaractères. À l'aide d'un trait d'union, vous pouvez spécifier des jeux de caractères: du premier au dernier. Par exemple, [^ 0-9] signifie n’importe quel caractère sauf 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
\ # - Le caractère # suivant la barre oblique (sauf az et 0-9). Par exemple, \\ signifie le symbole \, \. signifie le caractère. (point), \ $ signifie le caractère $, etc.

\ b - Début de mot
\ B - Fin de mot
[[: alnum:]] - caractères alphanumériques
[[: digit:]] - caractères numériques décimaux

[[: xdigit:]] - caractères numériques hexadécimaux
[[alpha:]] - caractères alphabétiques
[[: upper:]] - lettres majuscules
[[: lower:]] - caractères alphabétiques minuscules

[[: punct:]] - signes de ponctuation
[[: space:]] - caractères d'espacement
[[: blanc:]] - tabulation et espace
[[: print:]] - caractères imprimables

[[: cntrl:]] - caractères de contrôle
[[: graph:]] - caractères imprimables, à l'exclusion des espaces
\ xNN - NN - code de caractère ASCII hexadécimal (\ x20 - espace, \ x4A - J, \ x6A - j, etc.)

\ t - caractère de tabulation
\ n - nouvelle ligne
\ r - transfert en calèche
\ a - traduction de format

\ v - onglet vertical
\ a - appel
\ e - échapper
\ 033 - caractère octal

\ x1A - hexadécimal
\ c - caractère de contrôle
\ l - minuscule du caractère suivant
\ u - majuscule - // -

\ L - tous les caractères minuscules à \ E
\ U - en haut - // -
\ E - limiteur de registre
\ Q - Annuler l'action en tant que métacaractère

\ w - caractère alphanumérique ou '_'
\ W - pas - // -
\ s - un espace

\ S - on n'est pas un espace
\ d - un chiffre
\ D - un pas de chiffre

\ b - limite de mot
\ B n'est pas une limite de mot
\ A - le début de la ligne pour chaque ligne d'une ligne multiligne
\ Z - fin de ligne pour chaque ligne d'une ligne multiligne.

\ G - la fin de l'action m // g

(...) - Groupez les personnages dans un motif et rappelez-vous
| - Modèle précédent ou suivant ("OU" logique)

* - zéro fois ou plus
+ - Une ou plusieurs fois
? - masque précédent 0 ou 1 fois
{n} - Répétez n fois

{n,} - Répéter n fois ou plus
{n, m} - Répéter n à m fois
? #N - Il s’agit d’un opérateur "regarder en arrière". N est le nombre de caractères à afficher.

? ~ N - Déni de regarder en arrière.
? = - Vue en avant.
?! - Déni de regarder à l'avance.

Je ne fais pas la distinction entre les lettres minuscules et majuscules.
m - compte une chaîne multiligne.
s - ligne simple.
x - syntaxe étendue (utilisation d'espaces et de commentaires)

e - après avoir effectué des substitutions standard dans la chaîne remplacée, l'interprète en tant que code PHP et utilise le résultat pour remplacer la chaîne de recherche.
Une correspondance de motif ne sera obtenue que si elle correspond au début de la ligne dans laquelle la recherche est effectuée.
D - Le métacaractère du motif ne correspond qu'à la fin des données en cours de traitement. Sans ce modificateur, le métacaractère $ correspond également à la position avant le dernier caractère, s'il s'agit d'un saut de ligne (mais ne s'applique pas aux autres sauts de ligne). Ce modificateur est ignoré si le modificateur m est utilisé. Il n'y a pas de modificateur similaire en Perl.
S - si ce modificateur est utilisé, une analyse supplémentaire du modèle est effectuée. Dans le présent, cela n'a de sens que pour les modèles fixes qui ne contiennent pas de références variables.

Le modificateur U inverse la cupidité des quantificateurs, de sorte qu'ils ne sont pas gourmands par défaut. Mais ils deviennent gourmands si le caractère '?' Suit. Cette fonctionnalité n'est pas compatible avec Perl. Le modificateur U peut également être utilisé dans un motif, en utilisant l'enregistrement '? U'.
X - inclut des fonctionnalités PCRE supplémentaires qui ne sont pas compatibles avec Perl: toute barre oblique inverse dans un modèle, suivie d'un caractère qui n'a pas de signification particulière, génère une erreur. Cela est dû au fait que de telles combinaisons sont réservées à un développement ultérieur. Par défaut, comme en Perl, une barre oblique avec le caractère suivant sans signification particulière est interprétée comme une faute de frappe. Aujourd'hui, toutes ces fonctionnalités sont contrôlées par ce modificateur.
u - inclut des fonctionnalités PCRE supplémentaires non compatibles avec Perl: les modèles sont traités comme des chaînes UTF8. Le modificateur u est disponible à partir de PHP 4.1.0 et supérieur pour les plateformes Unix et de PHP 4.2.3 et versions ultérieures pour les plateformes Windows.

(? # commentaire) - un commentaire dans le corps du modèle.
(?: template) - regroupement ainsi que '()', mais sans lien de retour
(? = template) - "jette un coup d'oeil" devant vous. Par exemple, / \ w + (? = \ T) / correspond au mot suivi de la tabulation, mais le caractère "\ t" n'est pas inclus dans le résultat.

\ NUMBER - Référence à l'intérieur de l'expression rationnelle à son propre crochet désassemblé, où NUMBER est le numéro du groupe souhaité (crochet). Cet opérateur fonctionne avec certaines restrictions sur le type du bloc référencé - il ne fonctionne que s'il n'y a pas d'instructions de répétition dans la parenthèse référencée.