Perl : Expressions régulières
vendredi 11 mars 2005 par Bruno Letellier
Opérateurs
=
détermine la variable sur laquelle l’expression régulière sera appliquée. En l’absence de variable, $_ est utilisée.
!
détermine la variable sur laquelle l’expression régulière sera appliquée et inverse le résultat. Si le résultat concorde, elle retournera ’false’, si le résultat ne concorde pas, elle retournera ’true’.
m/pattern/imsox
Recherche le pattern dans une chaîne avec les options suivantes :
i : ignore la casse
g : recherche globale. Toutes les occurences
m : mode multi lignes
s : ligne simple
o : compile le pattern une seule fois
x : lisibilité étendue
c : ne remet pas à zéro la position lorsque l’option /g est utilisée
qr/pattern/imsox
Stocke une expréssion régulière dans une variable.
s/pattern/replacement/igmsoxe
Remplace les concordances de pattern dans replacement
?pattern ?
Identique à m/pattern/ mais effectue une seule concordance. Doit être remis à zéro avec reset.
Synthaxe
\ Echappe le caractère suivant
. Un seul caractère sauf le saut de ligne (sauf si l’option /s est utilisée)
^ Début de chaîne (ou de ligne si l’option /m est utilisée)
$ Fin de chaîne (ou de ligne si l’option /m est utilisée)
* L’élément précédent 0 ou plusieurs fois
+ L’élément précédent 1 ou plusieurs fois
? L’élément précédent 0 ou 1 fois
... Intervalle d’occurence pour l’élément précédent
[...] N’importe quel caractère inclut dans les crochets
(...) Groupes de sous expressions capturées dans les variales $1, $2, ...
( ? :...) Groupes de sous expressions non capturées
| Concordance de la sous expression précédent ou suivant le symbole
Séquences d’échappement
\a alarme
\e escape
\f formfeed
\n newline
\r retour charriot
\t Tab
\0 Caractère ASCII en octal
\x Caractère ASCII en héxadécimal
\cx Control-X
\NNom Caractère nommé
\l Caractère suivant en minuscule
\u Caractère suivant en majuscule
\L Minuscule jusque \E
\U Majuscule jusque \E
\E Fin de changement de casse
Les classes de caractères
[tesa] Correspond à ’t’, ’e’, ’s’ ou ’a’
[a-z] Le - correspond à un intervalle
[^a-c] Le symbole ^ siginifie ’Correspond à n’importe quel caractère sauf celui ci’
\d un chiffre
\D un caractère mais pas un chiffre
\w un mot
\W tout sauf un mot
\s un caractère blanc (\t,\n,\r,\f)
\S tout sauf un caractère blanc
\C un octet
Les ancres
^ Début de chaîne
$ Fin de chaîne
Intervalles
n,m Doit se produire au moins n fois et au plus m fois
n, Doit se produire au moins n fois
n Doit se produire exactement n fois
* 0 ou plusieurs fois
+ 1 ou plusieurs fois
? 0 ou 1 fois
--> -->