Les expressions régulières PDF Imprimer Envoyer
Écrit par Benjamin Jakubowski   
Vendredi, 28 Juillet 2000 02:02



Les expressions régulières
Les expresions régulières caractérisent uniquement des chaines de caractères et pas des noms de fichiers. Elles sont utilisées avec les commandes ed, vi,ex,sed,awk.
s/RE/chaine de remplacement/ (ou RE caracterise une expression régulière)
Lorsqu'on recherche une chaine de caractères à l'aide d'une expression régulière, la chaine renvoyée est la chaine la plus grande correspondant avec l'expression.
Pour banaliser un caractère, il faut utiliser "\"
Le point " . "
Caractérise n'importe quel caractère.
Rappel : pour pouvoir caractériser le point ".", il faut le banaliser à l'aide d'un backslash "\."

chaine de départ asdeuy...dur
commande s/.../---/
resultat ---euy...dur

Les crochets " [ ] "
[abc] a, b ou c
[a-z] une lettre minuscule
[0-57] 0, 1, 2, 3, 4, 5 ou 7
[a-d5-8X-Z] a, b, c, d, 5, 6, 7, 8, X, Y ou Z
[0-5-] 0, 1, 2, 3, 4, 5 ou -
[^0-9] pas un chiffre
[^a-zA-Z] pas une lettre
[012^] 0, 1, 2 ou ^

Débuts ("^") et fin ("$") de lignes
^ : caractérise le début de ligne (Attention ne pas confondre ^ et [^ ]).
$ : caractérise la fin de ligne.

/^abc/ ligne commencant par abc
/abc$/ ligne finissant par abc
/^$/ ligne vide

L'étoile " * "
Attention, l'utilisation de * est un peu particulière dans les expressions regulières :
Elle signifie de 0 Ã n fois le caractère la précédant

a* 0 ou n fois a
aa* au moins un a
.* n'importe quelle chaine de caractères
(y compris la chaine vide)

chaine de départ aabbabbaab
commande s/[ab]*/x/ s/a.*b/y/ s/a.*bb/z/
resultat x y zaab

/^[0-9][0-9]*$/ ligne qui ne contient que des chiffres

Isoler des sous chaines " \( " et " \) "
Pour isoler des sous chaines. On peut reutiliser les sous chaines ainsi trouvées grace à \1, \2 ..

chaine de départ ejkf fed 158e fd
commande s/.*\([0-9][0-9]*\).*/ resultat = \1/
resultat resultat = 158

Mise à jour le Lundi, 03 Septembre 2012 15:42
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir