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

Aide-mémoire pour l'expression régulière PHP

Sur le sujet:


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

. - N'importe quel caractère sauf les sauts de ligne (sans le paramètre /.../s)
[...] - N'importe lequel des jeux de caractères répertoriés. Les autres opérateurs ne fonctionnent pas entre crochets, 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 provenant de a, b, c, d, e, f.
[^ ...] - Aucun des jeux de caractères répertoriés. Les autres opérateurs ne fonctionnent pas entre crochets, 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 tous les caractères sauf 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
\ # - Le caractère # suivant la barre oblique (sauf pour az et 0-9). Par exemple, \\ signifie le caractère \, \. signifie symbole. (point), \ $ signifie le caractère $, etc.

\ b - Début d'un mot
\ B - Fin du mot
[[: alnum:]] - caractères alphanumériques
[[: digit:]] - chiffres décimaux

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

[[: punct:]] - signes de ponctuation
[[: espace:]] - caractères d'espace
[[: blanc:]] - tabulation et espace
[[: print:]] - caractères imprimés

[[: cntrl:]] - contrôle les caractères
[[: graph:]] - caractères imprimés, sauf les espaces
\ xNN - NN - le code hexadécimal du caractère ASCII (\ x20 - espace, \ x4A - J, \ x6A - j, etc.)

\ t - caractère de tabulation
\ n - nouvelle ligne
\ r - retour chariot
\ a - traduction de format

\ v - onglet vertical
\ a - appeler
\ e - échapper
\ 033 - notation octale

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

\ L - tous les caractères minuscules avant \ E
\ U - en haut - // -
\ E - délimiteur de changement de casse
\ Q - annuler l'action en tant que métacaractère

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

\ S - un pas d'espace
\ d - un chiffre
\ D - un pas un chiffre

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

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

(...) - Regroupez les personnages en un seul motif et rappelez-vous
| - Motif précédent ou suivant ("OU" logique)

* - Zéro ou plusieurs fois
+ - Une ou plusieurs fois
? - Masque précédent 0 ou 1 fois
{n} - Répéter n fois

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

? ~ N - Refuser de regarder en arrière.
? = - Regarde devant.
?! - Refus de regarder vers l'avenir.

i - ne fait pas de distinction entre les minuscules et les majuscules.
m - lire une chaîne multiligne.
s est une chaîne d'une seule ligne.
x - syntaxe étendue (en utilisant des espaces et des commentaires)

e - après avoir effectué des substitutions standard dans la chaîne remplacée, il l'interprète comme du code PHP et utilise le résultat pour remplacer la chaîne de recherche.
A - la correspondance avec le modèle 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 $ dans le modèle correspond uniquement à la fin des données traitées. 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 à aucun autre saut de ligne). Ce modificateur est ignoré si le modificateur m est utilisé. En Perl, un modificateur similaire manque.
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 de variables.

U - le modificateur inverse la cupidité des quantificateurs, ils ne sont donc pas gourmands par défaut. Mais ils deviennent gourmands s'ils sont suivis du symbole «?». Cette fonctionnalité n'est pas compatible avec Perl. Le modificateur U peut également être utilisé à l'intérieur du modèle à l'aide de l'entrée «? U».
X - inclut une fonctionnalité PCRE supplémentaire, qui n'est pas compatible avec Perl: toute barre oblique inverse dans le motif, suivie d'un caractère sans signification particulière, entraîne une erreur. Cela est dû au fait que ces combinaisons sont réservées pour un développement ultérieur. Par défaut, comme en Perl, une barre oblique suivie d'un caractère sans signification particulière est traitée comme une faute de frappe. Aujourd'hui, ce sont toutes les fonctionnalités qui sont contrôlées par ce modificateur.
u - inclut des fonctionnalités PCRE supplémentaires qui ne sont pas compatibles avec Perl: les modèles sont traités comme des chaînes UTF8. Le modificateur u est disponible en PHP 4.1.0 et supérieur pour les plates-formes Unix, et en PHP 4.2.3 et supérieur pour les plates-formes Windows.

(? # comment) - commentaire dans le corps du modèle.
(?: template) - regroupement comme '()', mais sans backlink
(? = modèle) - "regarder vers l'avenir". Par exemple, / \ w + (? = \ T) / correspond à un mot suivi d'un onglet, mais le caractère '\ t' n'est pas inclus dans le résultat.

\ NUMBER - Un lien à l'intérieur de l'expression rationnelle vers sa propre parenthèse analysée, où NUMBER est le numéro du groupe souhaité (parenthèses). Cette instruction fonctionne avec certaines restrictions sur le type du bloc référencé - elle ne fonctionne que s'il n'y a aucune instruction de répétition dans le support référencé.