Résumé des expressions régulières

Aperçu

Référence des expressions régulières portables et sûres pour un usage professionnel.
Les modificateurs de drapeaux ((?s), (?m), (?i)) ne sont pas utilisés afin de garantir une compatibilité maximale entre systèmes et outils.
Les modèles fournis sont pratiques, testés et directement exploitables.


Codes de fin de ligne selon le système

OS Code de fin de ligne Modèle recommandé Remarque
Windows \r\n \r?\n Compatible CRLF/LF
macOS / Linux \n \r?\n Compatible inter-OS

Points clés :

  • Utilisez \r?\n pour gérer toutes les plateformes.
  • Pour capturer des blocs multi-lignes, utilisez (?:.|\r|\n) car . ne capture pas les sauts de ligne.

Partie 1 : Syntaxe de base

1-1. Classes de caractères et plages

Modèle Signification Exemple Résultat
. Un caractère (sauf retour ligne) a.c / abc abc
[abc] a, b ou c bag a
[^0-9] Non numérique a1 a
[A-Z0-9] Majuscule ou chiffre X8z X, 8

1-2. Quantificateurs

Modèle Signification Exemple Résultat
* 0 ou plus goooogle goooo
+ 1 ou plus google oo
? 0 ou 1 color colour les deux
{n} Exactement n fois a{3} / aaa aaa
{n,} Au moins n fois a{2,} / aaaa aaaa
{n,m} De n à m fois a{2,4} / aaaaa aaaa

1-3. Ancres

Modèle Signification Exemple Résultat
^abc Début de ligne abc\nzabc abc
abc$ Fin de ligne zabc\nabc abc
\bword\b Mot isolé word words word
\Bing Sans frontière de mot ringing dernier ing

1-4. Abréviations spéciales

Modèle Signification Exemple Résultat
\d Chiffre ver2.10 2, 10
\D Non-chiffre a1 a
\w Alphanumérique ou _ a_b-1 a_b
\W Non-alphanumérique a# #
\s Espace (y compris tab/retour ligne) a b espace
\S Non-espace a b a, b
\t Tabulation a\tb a[TAB]b

1-5. Caractères spéciaux échappés

Modèle Signification Exemple Résultat
\. Point littéral a.c a.c
\* Astérisque littéral a*b a*b
\+ Signe plus a+b a+b
\? Point d’interrogation what? what?
\( \) Parenthèses littérales (test) (test)
| Barre verticale `a b`
\\ Antislash C:\\path \\
\^ Accent circonflexe ^abc ^abc
\$ Signe dollar total$ $
\[ \] Crochets littéraux [abc] [abc]
\{ \} Accolades littérales {a,b} {a,b}

Partie 2 : Groupement, alternatives et assertions

Modèle Utilité Exemple Résultat
(abc)+ Répétition de groupe abcabcx abcabc
`(?:jpg png)` OU non capturant file.png
`foo bar` OU logique bar
\d+(?=€) Nombre avant € Total 100€ 100
^(?!.*erreur).* Ligne sans erreur ok\nerror ok
(?<=€)\d+ Nombre après € €300 300
(?<!Mr\.)\s[A-Z] Majuscule non précédée de Mr. Ms. Alice A

Partie 3 : Correspondances multi-lignes

Usage Modèle Exemple Résultat
Bloc HTML `<div>(?:. \r \n)*?</div>`
Bloc de log `^[\d{4}-\d{2}-\d{2} [\d:]+](?:. \r \n)*?(?=^[\d{4}-\d{2}-\d{2}
Bloc Markdown «  « `(?:. \r \n)*?« ` « 
Commentaire // `/*(?:. \r \n)*?*/`

Partie 4 : Modèles fréquents (validation et extraction)

Objectif Modèle Exemple Résultat
Chiffres uniquement ^\d+$ 123 123
Alphanumérique ^[A-Za-z0-9]+$ user01 user01
E-mail simple ^[\w.-]+@[\w.-]+\.[A-Za-z]{2,}$ a@b.com a@b.com
URL https?://[\w.-]+\.[A-Za-z]{2,}(/[\w./?=&%-]*)? https://ex.com/a https://ex.com/a
Date ISO \d{4}-\d{2}-\d{2} 2025-10-30 2025-10-30
Téléphone international \+\d{1,3}[\s-]?\d{1,14} +81 90 1234 5678 complet
Mot de passe fort ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$ Abcd1234 valide
Commentaire HTML `<!–(?:. \r \n)*?–>`
Ligne sans error ^(?!.*error).* ok\nerror ok

Partie 5 : Exemples de remplacement

Tâche Modèle Remplacement Entrée Sortie
Inverser deux mots (\w+)\s+(\w+) ${2} ${1} John Doe Doe John
Changer séparateur ; , a;b;c a,b,c
Normaliser espaces \s{2,} a b a b
Supprimer balises HTML <[^>]+> «  <p>a</p> a
Trim (espaces début/fin) `^\s+ \s+$` «  a
Remplacer retour par espace \r?\n a\nb a b
Supprimer commentaire // //.*$ «  x=1;//note x=1;
Uniformiser date (\d{4})/(\d{2})/(\d{2}) ${1}-${2}-${3} 2025/10/30 2025-10-30
Supprimer doublons de ligne ^(.*)(\r?\n\1)+$ ${1} lignes identiques une seule

Conclusion

Les expressions régulières sont essentielles pour le traitement de texte, l’analyse de logs et l’automatisation.
En respectant les modèles indépendants des drapeaux, vous garantissez une compatibilité entre langages et systèmes et réduisez les risques d’erreur lors de vos traitements.