Name : BETA-TESTERS
Project name : ZW3B-API-BETA-TESTERS
Authorized. - 200 - Client API Name and Origin Wildcard OK
Les expressions régulières sont des suites de caractères permettant de faire des sélections.
Depuis les Howto > GNU/Linux > SHells">SHells Howto > GNU/Linux">GNU/Linux ont peut utiliser les expressions régulières comme directement depuis les Howto > Developpement">languages de programmation .
POSIX (Portable Operating System Interface (le X exprime l'héritage UNIX)) est une norme désignée par IEEE 1003 de standardisation des interfaces de programmation des logiciels destinés à fonctionner sur les variantes du système d'exploitation UNIX.
POSIX spécifie dans dix-sept documents différents, les "interfaces utilisateurs" et les "interfaces logicielles".
La ligne de commande standard et l'interface de script est le Bourne SHell.
On retrouve ce standard dans différents languages comme PHP, MySQL, PERL, Python...
On peut utiliser les expressions régulières avec certaines commandes comme awk
, grep
ou find
et depuis les éditeurs comme vim
, et emacs
.
?
qui définit un groupe qui existe zéro ou une fois : toto? correspondant alors à « tot » ou « toto » mais pas « totoo » ;
*
qui définit un groupe qui existe zéro, une ou plusieurs fois : toto* correspondant à « tot », « toto », « totoo », « totooo », etc. ;
+
qui définit un groupe qui existe une ou plusieurs fois, toto+ correspondant à « toto », « totoo », « totooo », etc. mais pas « tot ».
(?=re)
recherche positive de la sous-chaîne "re".(?!re)
recherche négative de la sous-chaîne "re".^
début de ligne..
un caractère et un seul (quelconque).$
fin de ligne.xyz*
zéro ou plus d'occurrences de la chaine xyz
.xyz+
une ou plus occurrences de la chaine xyz
.xyz?
une occurrence unique de la chaine xyz
.(...)
délimiteurs de groupe (avec capture). On référence alors les groupes capturés dans la chaîne de substitution avec $n
où n
est le numéro de groupe de capture entre 1
et 9
, la totalité de la chaîne trouvée étant représentée par $&
.[...]
spécification de classe de caractères permis.[^...]
spécification de classe de caractères interdits.{n}
pour définir le nombre exact de répétition n
du caractère placé devant.{n,}
répétition au moins n
fois.{n, m}
répétition au moins n
fois mais pas plus que m
.
Comme les caractères (
, )
, [
, ]
, .
, *
, ?
, +
, ^
, |
, $
, -
et sont utilisés comme symboles spéciaux, ils doivent être référencés dans une séquence d'échappement s'ils doivent désigner littéralement le caractère correspondant. Ceci se fait en les précédant avec une barre oblique inversée
.
L'expression [a-z][a-z]*
cherche les lignes contenant au minimum un caractère en minuscule. [a-z]
caractère permis, [a-z]*
recherche zéro ou plus d'occurrences des lettres permises.
L'expression ^[0-9]{4}$
a pour signification, du début ^
à la fin du fichier $
, recherche les nombres [0-9]
de 4 chiffres {4}
.
Pour donner un exemple simple, dans l'éditeur vim
pour remplacer du texte depuis la première ligne à la derniere.
En mode édition : ESC puis > :1;$s/expression/modification/g
.