Comment faire : Mode console, scripts BASH, SH...
 Charge moyenne sur 1mn : 0.75 Charge moyenne sur 5mn : 0.61 Charge moyenne sur 15mn : 0.51




Les expressions régulières (Regex/Regular)

Les expressions régulières sont des suites de caractères permettant de faire des sélections.

Informations

Dates
  • Publication : 2010
  • Modification : Mercredi 14 juin 2017

Partager

Présentation : Regex (Regular ou expressions régulières)

Depuis les SHells GNU/Linux ont peut utiliser les expressions régulières comme directement depuis les 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...

Utilisation :

On peut utiliser les expressions régulières avec certaines commandes comme awk, grep ou find et depuis les éditeurs comme vim, et emacs.

Les quantificateurs :
  • ? 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".
Les opérateurs de base :
  • ^ 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 $nn 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 .

Exemples :

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 premiere ligne à la derniere.

En mode édition : ESC puis > :1;$s/expression/modification/g.

Liens connexes :

Liens internes qui peuvent vous intéresser :


LAB3W.ORJ Alias de O.Romain JAILLET-RAMEY (NOTIF LVL 7 - 41 ans) LAB3W.ORJ
CONTACT
- Web - STEAM - Monster - LinkedIn - Viadeo - DailyMotion - FB - G+ - Twitter
DROITS SITES : ZW3B.Admin
INSCRIPTION : à l'aube du site, le samedi 06 janvier 1 (depuis wWwEBALL.com) (2001/01/06 15:31)
CONNEXION : hier à 19h03 (2018/01/17 19:03)
DERNIERE VISITE : il y a 6 heures (2018/01/18 00:00)

les réactions des ZW3B.Nautes (0 note)

Ajouter un commentaire

Avatar par default
Pseudo :
Email :
 
Ajouter la chaine de caractères (le code) ci-dessous dans le champ du dessous.
Captcha
Code :





Valid XHTML 1.0 Strict CSS Valide !

ipv6 ready