Outils pour utilisateurs

Outils du site


Panneau latéral

regex

Ceci est une ancienne révision du document !


Regex ou relations rationnelles

Dans ce chapitres, il ne s'agit pas d'une conf, mais d'un outil qui est utilisé ici où là, notamment dans la conf de nginx.

Principe

TBD

Eléments des regex

élément signification
Positionnement
^ début de la chaîne
$ fin de la chaîne
Quantificateurs
* répétition du motif précédent, zéro, une ou plusieurs fois
? répétition du motif précédent, zéro ou une fois
+ répétition du motif précédent, une ou plusieurs fois
. un caractère, quelqu'il soit
( ) Permet de délimiter un motif à évaluer en priorité
| permet une alternative entre ce qui est d'un côté ou de l'autre
\ permet d'échapper un caractère spécial normalement utilisé pour décrire une regex (ex: . * )
[ ] définit une classe, ce qui correspond à un motif dans le motif (voir le paragraphe dédié)
\S tout caractère qui n'est pas un whitespace (=espace) (testé en python)

Classes

= alternative = Une classe est délimité par des [ ]. N'importe quoi contenu dans la classe peut convenir. Par exemple : [aeiouy] permet de sélectionner (matcher) une voyelle.

= plage = On peut aussi définir des intervalles avec -, [3-6] définit un chiffre compris entre 3 et 6 inclus.

On peut cumuler la notion de plage avec la notion d'alternative : [a-zA-Z] pour définir une lettre en majuscule ou en minuscule.

= négation dans une classe = Elle est marquée par le caractère ^. : [^a-z] pour définir qque chose qui ne contient aucune lettre en minuscule.

Assertions

Il s'agit de test qui sont effectués sur les caractères précédents ou suivant les caractères en cours d'étude, et ne font pas partie de la sélection.

b(?=[a-zA-Z]) est positif si la lettre b est suivie par une autre lettre b(?![0-9]) est positif si la lettre b n'est pas suivie d'un nombre (assertion négative)

regex.1480422595.txt.gz · Dernière modification: 2018/10/13 20:32 (modification externe)