geo michaelm
Accueil du site > Racine > Les expressions régulières (pense-bête)

Les expressions régulières (pense-bête)

samedi 25 septembre 2010, par michaelm

Expressions régulières : l’essentiel

Il s’agit d’un langage permettant de représenter un ensemble de séquences de caractères semblables. Elles étendent la notion de joker couramment utilisé pour la recherche de fichiers dans un système de fichiers, mais offre des possibilités bien plus puissantes.

Une expression régulière simple ressemble souvent à ceci :

Code INSEE : (2[AB]|[0-9]{2})[0-9]{3}

Les jokers, les caractères spéciaux et les classes de caractères

CodeDefinitionExemple
. le point remplace n’importe quel caractère
ex. trouver rase, rose, rosé mais pas ravi r.s.
\t tabulation (0x09)
ex. rechercher 2 tabulations consécutives \t\t
\n retour à la ligne (0x10)
ex. rechercher ab et cd sur deux lignes consécutives ab\ncd
^ marque le début d’une expression
ex. rechercher le terme début en début d’expression ^début
$ marque la fin d’une expression
ex. rechercher le terme fin en fin d’expression fin$
\b limite d’un mot
ex. rechercher "c’est" mais pas "ces" c\b.*
\w lettre (non accentuée) ou chiffre ([0-9a-zA-Z])
ex. rechercher "a", "ab" ou "AB9" mais pas "à" ni "a,b" [\w]+
\W ni lettre ni chiffre ([^0-9a-zA-Z])
\s espace, tabulation ou retour à la ligne [ \t\n\r\f]
ex. rechercher deux espaces consécutifs ou plus \s\s+
\S ni espace, ni tabulation, ni retour à la ligne
\d chiffre ( = [0-9])
ex. rechercher les années 1900 à 1999 19\d\d
\D non chiffre
\ caracère d’échappement pour rechercher un caractère ayant une signification spécial dans les expressions régulières
\\  \(  \)  \[  \]  \.  \*  \?  \+  \|  \^  \$
permettront respectivement de retrouver les caractères
( ) [ ] . * ? + | ^ $
ex. rechercher les nombres décimaux utilisant le point pour séparateur (notez que le point est précédé du caractère d’échappement) et possédant un chiffre après la virgule \d+\.\d

Les classes de caractères ou sous-expressions

CodeDefinitionExemple
[abc] recherche a, b ou c
ex. rechercher Dupond ou Dupont avec ou sans majuscule initiale [Dd]upon[dt]
[a-f] lettre comprise entre a et f
ex. rechercher un nombre en écriture hexadécimale [0-9a-fA-F]+
[^xyz] ni x, ni y, ni z
ex. rechercher les apostrophes non suivies d’une voyelle '[^AEIOUYaeiouy]
(X|Y) sous-expression X ou Y
ex. rechercher le terme grand ou petit (grand|petit)
ex. rechercher des noms de personnes précédés de leur civilité (M|Mme|Mlle) \w+

Les quantificateurs

CodeDefinitionExemple
? facultatif (0...1)
ex. rechercher bas, basse ou basses bas(ses?)?
ex. rechercher des numéros de téléphone séparés ou non par des blancs \d\d ?\d\d ?\d\d ?\d\d ?\d\d
+ au moins (1...n) bil+e
ex. rechercher des mots composés (de caractères alpha-numériques non accentués !) [\w]+-[\w]+
* un nombre quelconque de fois la lettre ou l’expression (0...n)
ex. rechercher un nombre entier (0 ou un nombre commençant par un chiffre de 1 à 9 suivi d’un nombre quelconque de chiffre de 0 à 9) ^(0|[1-9][0-9]*)$
{n} exactement n [0-9]{3}
{n,} au moins n \w{3,}
{,m} au plus m \d{,9}
{n,m} entre n et m [0-9AB]{5}

Notre exemple du début expliqué :

Code INSEE : (2[AB]|[0-9]{2})[0-9]{3}

Les parenthèses représentent des "sous-expressions"

Le code commence par 2[AB] (c’est à dire 2A ou 2B) ou n’importe quel nombre composé de deux chiffres ([0-9]{2})

Il se poursuit par une séquence de 3 chiffres exactement, 0 compris ([0-9]3)

Pour aller plus loin

Une excellente petite application java web start pour tester ses expressions régulières et en découvrir le mécanisme : jRegExAnalyser

En français

Un autre petit aide-mémoire en français

Une présentation très complète sur l’utilisation des expressions régulières en java

En anglais

La référence absolue sur le site regular-expressions

Référence sur le pattern-matching et l’utilisation des expressions régulières dans PostgreSQL

2 Messages de forum

  • Les expressions régulières (pense-bête) 23 octobre 2013 09:36, par ad22676RHO

    Für SEO/SEM-Profis ist dies richtiger for Ihre Klienten oder for the Unternehmen..Mittlere Cowboystiefel are viewed eine Klammer zu any Art of beschlagen Sie Sammlung..Durch das Anmelden und das Werden a louis vuitton online shop Mitglied unter ein vendor, man kann bekommen unrestricted Nutzen so dauern Sie for life..

  • Les expressions régulières (pense-bête) 23 octobre 2013 10:58, par ad2456Cc

    And so besessen ist wir utilizing die wichtige Sache jeder Jahreszeit item of bewaffnen Sie Süßigkeiten, wir zucken nicht mehr dabei zurück is einen excellent louis vuitton outlet die Einkommen eines Monats bezahlend for your am spätesten Handtasche..So als to Show ihre Persönlichkeit, people Kleid mehr Mode as verglich with Hollowood-Sterne. ?.I truly nicht gesehenes viel Latschen die Straßen using their stolze Besitzer. ?.

SPIP | squelette | | Plan du site | Suivre la vie du site RSS 2.0