Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Les 22 & 23 novembre : Accès 100% GRATUIT à  
la Bibliothèque Numérique ENI. Je m'inscris !
  1. Supports de cours
  2. Expressions régulières - Syntaxe et mise en œuvre (avec exercices et corrigés) (2e édition)

Expressions régulières Syntaxe et mise en œuvre (avec exercices et corrigés) (2e édition)

Bientôt disponible !
Suivez-nous pour être informé dès la sortie

Caractéristiques

  • Reliure spirale - 17 x 21 cm (Médian)
  • ISBN : 978-2-409-04708-4
  • EAN : 9782409047084
  • Ref. ENI : RIM2EXRE
Ce support s'adresse à tout informaticien (étudiant, développeur, ingénieur système...) désirant comprendre et maîtriser les expressions régulières.Il commence par un bref rappel de l'origine mathématique des expressions régulières, puis détaille leurs différents types, depuis les expressions de sélection du shell jusqu'aux expressions régulières interprétées par différents langages.L'auteur a choisi une approche résolument pratique et les chapitres suivants présentent les expressions...
Aperçu du livre papier
  • Niveau Initié à Confirmé
  • Parution novembre 2024
Ce support s'adresse à tout informaticien (étudiant, développeur, ingénieur système...) désirant comprendre et maîtriser les expressions régulières.

Il commence par un bref rappel de l'origine mathématique des expressions régulières, puis détaille leurs différents types, depuis les expressions de sélection du shell jusqu'aux expressions régulières interprétées par différents langages.

L'auteur a choisi une approche résolument pratique et les chapitres suivants présentent les expressions régulières dans le contexte des différentes commandes qui ont contribué au succès d'UNIX et Linux (shells, find, ed, sed, ex, vi, vim, bvi, grep, egrep, expr, awk, du, lex), puis dans celui des fonctions d'évaluation (glob(), regcomp(), regexec()) et de différents langages (C++, C#, Go, Java, JavaScript, Julia, Perl, Python, R, Rust).

De nombreux exemples ainsi que des exercices, corrigés de façon détaillée, montrent de façon pédagogique et progressive comment produire des expressions régulières fiables et compréhensibles.

La dernière partie propose des synthèses relatives aux différents types d'expressions et à leurs méta-caractères, liste les principaux outils les utilisant, ainsi que des outils de contrôle et des méthodes de validation, parfois visuelles, des expressions régulières.

Les explications détaillées permettent une compréhension fine de la signification des méta-caractères et des expressions qui les emploient, permettant au lecteur de créer ses propres expressions régulières et de comprendre celles écrites par d'autres personnes.

D'autre part, des conseils très utiles aident à fiabiliser l'écriture des expressions régulières, et ainsi à éviter des erreurs classiques mais néanmoins fréquentes et parfois difficiles à localiser.

Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.

Téléchargements

Introduction
  1. 1. Qu'est-ce qu'une expression régulière ?
  2. 2. Qu'est-ce qu'un métacaractère ?
  3. 3. Origine des expressions régulières
  4. 4. Avertissement relatif aux expressions régulières
  5. 5. Avertissement relatif aux commandes GNU/Linux
  6. 6. Avertissement relatif à la portabilité
  7. 7. Rappels de base concernant le shell
  8. 8. Conseil important pour la qualité et la fiabilité du code
  9. 9. Programme d'aide à la compréhension du shell
Les interpréteurs de commandes, ou shells
  1. 1. Description
  2. 2. Historique
  3. 3. Les caractères de sélection de noms de fichiers
    1. 3.1 La découverte des expressions régulières par l'utilisateur
    2. 3.2 La spécificité des expressions de sélection du shell
    3. 3.3 Rappel sur les fichiers cachés
    4. 3.4 Le métacaractère *
    5. 3.5 Le métacaractère ?
    6. 3.6 Les métacaractères [ ]
  4. 4. Les autres caractères spéciaux
  5. 5. La commande de traitements sélectifs
    1. 5.1 Le métacaractère *
      1. 5.1.1 Exemple 1
      2. 5.1.2 Exemple 2
    2. 5.2 Le métacaractère ?
    3. 5.3 Les métacaractères [ ]
      1. 5.3.1 Exemple 1
      2. 5.3.2 Exemple 2
      3. 5.3.3 Exemple 3
      4. 5.3.4 Conseil d'écriture
  6. 6. Mise en garde sur le décodage des arguments
  7. 7. Exercices
    1. 7.1 Exercice 1
    2. 7.2 Exercice 2
    3. 7.3 Exercice 3
    4. 7.4 Exercice 4
    5. 7.5 Exercice 5
    6. 7.6 Exercice 6
    7. 7.7 Exercice 7
    8. 7.8 Exercice 8
find, la commande de recherche de fichiers
  1. 1. Description
  2. 2. Principe de fonctionnement
  3. 3. Les options liées à l'i-node
    1. 3.1 Option -type
    2. 3.2 Option -perm
    3. 3.3 Option -links
    4. 3.4 Option -user
    5. 3.5 Option -uid
    6. 3.6 Option -group
    7. 3.7 Option -size
    8. 3.8 Option -inum
    9. 3.9 Option -atime
    10. 3.10 Option -mtime
    11. 3.11 Option -exec
    12. 3.12 Option -ok
    13. 3.13 Option -print
    14. 3.14 Option -newer
    15. 3.15 Option -ls
    16. 3.16 Option -prune
    17. 3.17 Autres options
  4. 4. Les options liées au nom
    1. 4.1 Option -name
    2. 4.2 Option -iname
    3. 4.3 Option -lname
    4. 4.4 Option -ilname
    5. 4.5 Option -path
    6. 4.6 Option -ipath
    7. 4.7 Option -regex
    8. 4.8 Option -iregex
    9. 4.9 Option -regextype
    10. 4.10 Option -wholename
    11. 4.11 Option -iwholename
  5. 5. Les expressions de sélection
    1. 5.1 Utilisation du caractère ?
    2. 5.2 Utilisation du caractère *
    3. 5.3 Utilisation des caractères [ et ]
  6. 6. Les expressions étendues
    1. 6.1 Utilisation du caractère .
    2. 6.2 Utilisation des caractères [ et ]
    3. 6.3 Utilisation du caractère *
    4. 6.4 Utilisation du caractère +
    5. 6.5 Utilisation du caractère ?
    6. 6.6 Utilisation du caractère |
    7. 6.7 Utilisation des caractères ( et )
    8. 6.8 Utilisation du caractère ^
    9. 6.9 Utilisation du caractère $
    10. 6.10 Utilisation du caractère \
    11. 6.11 Utilisation des caractères { et }
  7. 7. Exercices
    1. 7.1 Exercice 1
    2. 7.2 Exercice 2
    3. 7.3 Exercice 3
    4. 7.4 Exercice 4
    5. 7.5 Exercice 5
    6. 7.6 Exercice 6
ed, l'éditeur ligne
  1. 1. Description
  2. 2. Rappel de quelques commandes
    1. 2.1 Les différents modes
    2. 2.2 Adressage des lignes
      1. 2.2.1 Références à des lignes par numéros
      2. 2.2.2 Références à des lignes par des recherches
    3. 2.3 Recherche de chaînes de caractères
    4. 2.4 Recherche globale de chaînes de caractères
    5. 2.5 Saisie de texte
    6. 2.6 Suppression de lignes
    7. 2.7 Affichage des lignes
    8. 2.8 Substitution de chaînes de caractères
    9. 2.9 Enregistrement des modifications
    10. 2.10 Sortie de l'éditeur
  3. 3. Les expressions régulières
    1. 3.1 Généralités
    2. 3.2 Utilisation du caractère ^
      1. 3.2.1 Signification
      2. 3.2.2 Recherche d'une expression en début de ligne
      3. 3.2.3 Insertion d'une chaîne en début de ligne
      4. 3.2.4 Substitution d'une expression en début de ligne
    3. 3.3 Utilisation du caractère $
      1. 3.3.1 Ajout d'une chaîne en fin de ligne
      2. 3.3.2 Substitution d'une expression en fin de chaîne
    4. 3.4 Utilisation du caractère .
    5. 3.5 Utilisation des caractères [ ]
    6. 3.6 Utilisation du caractère *
    7. 3.7 Utilisation des caractères \< et \>
      1. 3.7.1 Recherche d'un début de mot
      2. 3.7.2 Recherche d'une fin de mot
      3. 3.7.3 Recherche d'un mot entier
    8. 3.8 Utilisation du caractère &
    9. 3.9 Référence à des expressions
  4. 4. Exercices
    1. 4.1 Suppression en fin de ligne
    2. 4.2 Insertion en début de ligne
    3. 4.3 Substitution de chaîne
    4. 4.4 Substitution avec références
      1. 4.4.1 Exercice 4
      2. 4.4.2 Exercice 5
      3. 4.4.3 Exercice 6
      4. 4.4.4 Exercice 7
    5. 4.5 Affichage sélectif
      1. 4.5.1 Exercice 8
      2. 4.5.2 Exercice 9
      3. 4.5.3 Exercice 10
    6. 4.6 Insertion en début de ligne
sed, l'éditeur de flux (stream editor)
  1. 1. Description
  2. 2. Rappels de fonctionnement
    1. 2.1 Principe de fonctionnement
    2. 2.2 Adressage des lignes
      1. 2.2.1 Principe d'adressage
      2. 2.2.2 Références à des lignes par numéros
      3. 2.2.3 Références à des lignes par des recherches
    3. 2.3 Rappel de quelques commandes
      1. 2.3.1 Recherche de chaînes de caractères
      2. 2.3.2 Ajout de texte
      3. 2.3.3 Insertion de texte
      4. 2.3.4 Remplacement de texte
      5. 2.3.5 Suppression de texte
      6. 2.3.6 Substitution de texte
      7. 2.3.7 Définition d'étiquette
      8. 2.3.8 Branchement inconditionnel
      9. 2.3.9 Branchement conditionnel
      10. 2.3.10 Groupement d'instructions
  3. 3. Les expressions basiques
    1. 3.1 Utilisation du caractère ^
      1. 3.1.1 Signification
      2. 3.1.2 Recherche d'une expression en début de ligne
      3. 3.1.3 Insertion d'une chaîne en début de ligne
      4. 3.1.4 Substitution d'une expression en début de ligne
    2. 3.2 Utilisation du caractère $
      1. 3.2.1 Signification
      2. 3.2.2 Ajout d'une chaîne en fin de ligne
      3. 3.2.3 Substitution d'une expression en fin de ligne
    3. 3.3 Utilisation du caractère .
    4. 3.4 Utilisation des caractères [ ]
    5. 3.5 Utilisation du caractère *
    6. 3.6 Utilisation du caractère &
    7. 3.7 Référence à des expressions
  4. 4. Les expressions étendues
    1. 4.1 Avertissement
    2. 4.2 Utilisation du caractère .
    3. 4.3 Utilisation des caractères [ et ]
    4. 4.4 Utilisation du caractère *
    5. 4.5 Utilisation du caractère +
    6. 4.6 Utilisation du caractère ?
    7. 4.7 Utilisation du caractère |
    8. 4.8 Utilisation des caractères ( et )
    9. 4.9 Utilisation du caractère ^
    10. 4.10 Utilisation du caractère $
    11. 4.11 Utilisation du caractère \
    12. 4.12 Utilisation des caractères { et }
  5. 5. Exercices
    1. 5.1 Exercice 1
    2. 5.2 Exercice 2
    3. 5.3 Exercice 3
    4. 5.4 Exercice 4
    5. 5.5 Exercice 5
    6. 5.6 Exercice 6
ex, l'éditeur ligne de vi
  1. 1. Description
  2. 2. Principe de fonctionnement
  3. 3. Rappel de quelques commandes
    1. 3.1 Les différents modes
      1. 3.1.1 Interface utilisateur
      2. 3.1.2 Mode commandes, mode saisie
    2. 3.2 Adressage des lignes
      1. 3.2.1 Références à des lignes par numéros
      2. 3.2.2 Références à des lignes par des recherches
    3. 3.3 Recherche de chaînes de caractères
    4. 3.4 Recherche globale de chaînes de caractères
    5. 3.5 Saisie de texte
    6. 3.6 Suppression de lignes
      1. 3.6.1 Suppression de la ligne courante
      2. 3.6.2 Suppression d'une ligne
      3. 3.6.3 Suppression d'un groupe de lignes
    7. 3.7 Affichage des lignes
    8. 3.8 Substitution de chaînes de caractères
    9. 3.9 Manipulation de la casse des lettres
      1. 3.9.1 Séquence \u
      2. 3.9.2 Séquence \U
      3. 3.9.3 Séquence \l
      4. 3.9.4 Séquence \L
      5. 3.9.5 Séquence \e ou \E
    10. 3.10 Enregistrement des modifications
    11. 3.11 Sortie de l'éditeur
  4. 4. Quelques spécificités de ex par rapport à ed
  5. 5. Les expressions régulières
    1. 5.1 Généralités
    2. 5.2 Utilisation du caractère ^
      1. 5.2.1 Utilisation
      2. 5.2.2 Recherche d'une expression en début de ligne
      3. 5.2.3 Insertion d'une chaîne en début de ligne
      4. 5.2.4 Substitution d'une expression en début de ligne
    3. 5.3 Utilisation du caractère $
      1. 5.3.1 Ajout d'une chaîne en fin de ligne
      2. 5.3.2 Substitution d'une expression en fin de chaîne
    4. 5.4 Utilisation du caractère .
    5. 5.5 Utilisation des caractères [ ]
    6. 5.6 Utilisation du caractère *
    7. 5.7 Utilisation des caractères \< et \>
      1. 5.7.1 Recherche d'un début de mot
      2. 5.7.2 Recherche d'une fin de mot
      3. 5.7.3 Recherche d'un mot entier
    8. 5.8 Utilisation du caractère &
    9. 5.9 Référence à des expressions
  6. 6. Exercices
vi, le premier éditeur plein écran
  1. 1. Description
  2. 2. Principe de fonctionnement
    1. 2.1 Généralités
    2. 2.2 Rappel de quelques commandes
      1. 2.2.1 Édition d'un fichier
      2. 2.2.2 Ajout de texte
      3. 2.2.3 Insertion de texte
      4. 2.2.4 Modification de texte
      5. 2.2.5 Suppression de texte
      6. 2.2.6 Enregistrement des modifications
      7. 2.2.7 Accès au mode ligne de ex
      8. 2.2.8 Accès aux variables de paramétrage
  3. 3. Les expressions régulières
    1. 3.1 Généralités
    2. 3.2 Recherches de chaînes de caractères
    3. 3.3 Utilisation du caractère ^
    4. 3.4 Utilisation du caractère $
    5. 3.5 Utilisation du caractère .
    6. 3.6 Utilisation des caractères [ ]
    7. 3.7 Utilisation du caractère *
    8. 3.8 Utilisation des caractères \< et \>
      1. 3.8.1 Recherche d'un début de mot
      2. 3.8.2 Recherche d'une fin de mot
      3. 3.8.3 Recherche d'un mot entier
vim, l'éditeur vi amélioré (Vi IMproved)
  1. 1. Description
  2. 2. Principe de fonctionnement
    1. 2.1 Généralités
    2. 2.2 Spécificités
      1. 2.2.1 Avertissement
      2. 2.2.2 Mise en surbrillance
      3. 2.2.3 Reconnaissance de caractères particuliers
      4. 2.2.4 Accès aux expressions régulières étendues
  3. 3. Les expressions régulières basiques
    1. 3.1 Utilisation du caractère ^
    2. 3.2 Utilisation du caractère $
    3. 3.3 Utilisation du caractère .
    4. 3.4 Utilisation des caractères [ ]
    5. 3.5 Utilisation du caractère *
    6. 3.6 Utilisation des caractères \< et \>
      1. 3.6.1 Recherche d'un début de mot
      2. 3.6.2 Recherche d'une fin de mot
      3. 3.6.3 Recherche d'un mot entier
  4. 4. Les expressions régulières étendues
    1. 4.1 Utilisation du caractère ^
    2. 4.2 Utilisation du caractère $
    3. 4.3 Utilisation du caractère .
    4. 4.4 Utilisation des caractères [ ]
    5. 4.5 Utilisation des caractères \( ... \)
    6. 4.6 Utilisation du caractère *
    7. 4.7 Utilisation des caractères \+
    8. 4.8 Utilisation des caractères \?
    9. 4.9 Utilisation des caractères \{n,p}
    10. 4.10 Utilisation des caractères \{n,}
    11. 4.11 Utilisation des caractères \{,p}
    12. 4.12 Utilisation des caractères \{n}
    13. 4.13 Utilisation des caractères \{}
    14. 4.14 Utilisation des caractères \{-n,p}
    15. 4.15 Utilisation des caractères \{-n}
    16. 4.16 Utilisation des caractères \{-n,}
    17. 4.17 Utilisation des caractères \{-,p}
    18. 4.18 Utilisation des caractères \{-}
    19. 4.19 Utilisation des caractères \|
    20. 4.20 Utilisation des caractères \< et \>
bvi, l'éditeur binaire/hexadécimal plein écran
  1. 1. Description
  2. 2. Points communs avec vi
  3. 3. Spécificités de bvi
  4. 4. Rappel de quelques commandes
    1. 4.1 Avertissement
    2. 4.2 Positionnement en début de ligne
    3. 4.3 Positionnement en fin de ligne
    4. 4.4 Déplacements du curseur
    5. 4.5 Ajout d'octets
    6. 4.6 Insertion d'octets
    7. 4.7 Remplacement d'octets
    8. 4.8 Suppression d'octets
    9. 4.9 Écriture du fichier modifié
  5. 5. Les expressions régulières
    1. 5.1 Généralités
    2. 5.2 Recherche en début de ligne
    3. 5.3 Recherche en fin de ligne
    4. 5.4 Recherche d'expressions régulières
      1. 5.4.1 Modes de recherche
      2. 5.4.2 Utilisation du caractère .
      3. 5.4.3 Utilisation des caractères [ ]
      4. 5.4.4 Utilisation du caractère *
  6. 6. Commande bmore
  7. 7. Exercices
    1. 7.1 Exercice 1
    2. 7.2 Exercice 2
    3. 7.3 Exercice 3
    4. 7.4 Exercice 4
    5. 7.5 Exercice 5
    6. 7.6 Exercice 6
    7. 7.7 Exercice 7
    8. 7.8 Exercice 8
grep, la commande de recherche de lignes
  1. 1. Description
  2. 2. Principe de fonctionnement
    1. 2.1 Généralités
    2. 2.2 Rappel de quelques options
  3. 3. Les expressions basiques
    1. 3.1 Généralités
    2. 3.2 Utilisation du caractère ^
    3. 3.3 Utilisation du caractère $
    4. 3.4 Utilisation du caractère .
    5. 3.5 Utilisation du caractère *
    6. 3.6 Utilisation des caractères [ ]
    7. 3.7 Utilisation des caractères \< et \>
    8. 3.8 Utilisation du caractère \
    9. 3.9 Classes de caractères
  4. 4. Les expressions étendues
    1. 4.1 Généralités
    2. 4.2 Utilisation des caractères ( )
    3. 4.3 Utilisation du caractère |
    4. 4.4 Utilisation du caractère ?
    5. 4.5 Utilisation du caractère *
    6. 4.6 Utilisation du caractère +
    7. 4.7 Utilisation des caractères { }
  5. 5. Exercices
    1. 5.1 Exercice 1
    2. 5.2 Exercice 2
    3. 5.3 Exercice 3
    4. 5.4 Exercice 4
    5. 5.5 Exercice 5
    6. 5.6 Exercice 6
expr, la commande d'évaluation d'expressions
  1. 1. Description
  2. 2. Principe de fonctionnement
    1. 2.1 Généralités
    2. 2.2 Les parenthèses
    3. 2.3 Les opérateurs arithmétiques
    4. 2.4 Les opérateurs de comparaison
    5. 2.5 Les opérateurs booléens
    6. 2.6 La comparaison à une expression régulière
    7. 2.7 Extraction d'une chaîne correspondant à une expression
  3. 3. Attention aux pièges
    1. 3.1 Interprétation par le shell
    2. 3.2 Respect de la syntaxe
    3. 3.3 Valeurs nulles
  4. 4. Exercices
    1. 4.1 Exercice 1
    2. 4.2 Exercice 2
awk, la commande de traitement de fichiers
  1. 1. Description
  2. 2. Principe de fonctionnement
    1. 2.1 Principe général
    2. 2.2 Expression de sélection
    3. 2.3 Séparateur de champs
    4. 2.4 Éléments de syntaxe du langage
      1. 2.4.1 Généralités
      2. 2.4.2 Instructions
      3. 2.4.3 Variables
      4. 2.4.4 Tableaux associatifs
      5. 2.4.5 Fonctions définies par l'utilisateur
      6. 2.4.6 Fonctions intégrées au langage
      7. 2.4.7 Opérations arithmétiques
      8. 2.4.8 Tests
      9. 2.4.9 Contrôle de boucles
  3. 3. Les expressions régulières
    1. 3.1 Utilisation
    2. 3.2 Recherche de correspondance
      1. 3.2.1 Recherche avec /.../
      2. 3.2.2 Recherche avec ~
      3. 3.2.3 Recherche avec !~
    3. 3.3 Utilisation du caractère ^
    4. 3.4 Utilisation du caractère $
    5. 3.5 Utilisation du caractère .
    6. 3.6 Utilisation des caractères [ ]
    7. 3.7 Utilisation du caractère *
    8. 3.8 Recherche d'un mot entier
  4. 4. Fonctions de manipulation de chaînes
    1. 4.1 Fonction length()
    2. 4.2 Fonction sub()
    3. 4.3 Fonction gsub()
    4. 4.4 Fonction match()
  5. 5. Exercices
    1. 5.1 Exercice 1
    2. 5.2 Exercice 2
    3. 5.3 Exercice 3
    4. 5.4 Exercice 4
    5. 5.5 Exercice 5
du, l’affichage de l'usage des disques
  1. 1. Description
  2. 2. Principe de fonctionnement
    1. 2.1 Généralités
    2. 2.2 Options relatives aux expressions génériques
      1. 2.2.1 Option -X, ou --exclude-from=FICHIER
      2. 2.2.2 Option --exclude=MODELE
lex, le générateur d'analyseurs lexicaux
  1. 1. Description
  2. 2. Principe de fonctionnement
    1. 2.1 Généralités
    2. 2.2 Structure d'un programme lex
      1. 2.2.1 Première section
      2. 2.2.2 Deuxième section
      3. 2.2.3 Troisième section
    3. 2.3 Génération du binaire
  3. 3. Les expressions régulières
    1. 3.1 Localisation des expressions régulières
    2. 3.2 Utilisation du caractère "
    3. 3.3 Utilisation du caractère \
    4. 3.4 Utilisation des caractères et
    5. 3.5 Utilisation du caractère .
    6. 3.6 Utilisation des caractères [ ]
    7. 3.7 Utilisation du caractère ^
    8. 3.8 Utilisation des caractères ( )
    9. 3.9 Utilisation du caractère *
    10. 3.10 Utilisation du caractère +
    11. 3.11 Utilisation du caractère ?
    12. 3.12 Utilisation des caractères { }
    13. 3.13 Utilisation du caractère |
  4. 4. Les règles
    1. 4.1 Localisation des règles de traitement
    2. 4.2 Utilisation du caractère ^
    3. 4.3 Utilisation du caractère $
    4. 4.4 Utilisation du caractère /
  5. 5. Exercices
    1. 5.1 Exercice 1
    2. 5.2 Exercice 2
    3. 5.3 Exercice 3
    4. 5.4 Exercice 4
    5. 5.5 Exercice 5
    6. 5.6 Exercice 6
    7. 5.7 Exercice 7
    8. 5.8 Exercice 8
    9. 5.9 Exercice 9
    10. 5.10 Exercice 10
    11. 5.11 Exercice 11
glob(), la fonction de sélection de pathnames
  1. 1. Description
  2. 2. Principe de fonctionnement
    1. 2.1 Généralités
    2. 2.2 Utilisation
  3. 3. Exercices
    1. 3.1 Exercice 1
    2. 3.2 Exercice 2
regcomp(), regexec(), la gestion des ER
  1. 1. Description
  2. 2. Rappel du principe de fonctionnement
    1. 2.1 Généralités
    2. 2.2 Utilisation
    3. 2.3 Utilisation de regcomp()
    4. 2.4 Utilisation de regexec()
  3. 3. Exercices
    1. 3.1 Exercice 1
    2. 3.2 Exercice 2
    3. 3.3 Exercice 3
hl, une commande de colorisation
  1. 1. Description
  2. 2. Principe de fonctionnement
  3. 3. Description des options
    1. 3.1 Usage de la commande
    2. 3.2 Options de couleurs
    3. 3.3 Option -h
    4. 3.4 Option -v
    5. 3.5 Option -u
    6. 3.6 Option -e
    7. 3.7 Option -i
    8. 3.8 Option -E
    9. 3.9 Option -d
    10. 3.10 Option -D
  4. 4. Exercices
    1. 4.1 Exercice 1
    2. 4.2 Exercice 2
    3. 4.3 Exercice 3
    4. 4.4 Exercice 4
    5. 4.5 Exercice 5
    6. 4.6 Exercice 6
    7. 4.7 Exercice 7
    8. 4.8 Exercice 8
    9. 4.9 Exercice 9
fo, une commande de formatage
  1. 1. Description
  2. 2. Les expressions régulières
  3. 3. Exemple d’utilisation
bash, l'interpréteur de commandes de GNU
  1. 1. Description
  2. 2. Les modèles étendus
    1. 2.1 Les nouvelles syntaxes
    2. 2.2 Les options de configuration
      1. 2.2.1 dotglob
      2. 2.2.2 extglob
      3. 2.2.3 failglob
      4. 2.2.4 globasciiranges
      5. 2.2.5 globstar
      6. 2.2.6 nocaseglob
      7. 2.2.7 nocasematch
      8. 2.2.8 nullglob
    3. 2.3 Les variables utilisant des modèles
      1. 2.3.1 EXECIGNORE
      2. 2.3.2 HISTIGNORE
      3. 2.3.3 GLOBIGNORE
  3. 3. Les opérateurs de comparaison
    1. 3.1 Les opérateurs liés aux modèles
    2. 3.2 L’opérateur lié aux expressions régulières
Les expressions régulières en C#
  1. 1. Généralités
  2. 2. Les expressions régulières
  3. 3. Manipulation des expressions régulières
    1. 3.1 Compilation d'expression régulière
    2. 3.2 Recherche de chaînes
      1. 3.2.1 Fonction Regex.Match()
      2. 3.2.2 Fonction Regex.IsMatch()
      3. 3.2.3 Fonction Regex.Matches()
    3. 3.3 Substitution de chaînes
    4. 3.4 Découpage de chaînes
Les expressions régulières en C++
  1. 1. Généralités
  2. 2. Les expressions régulières
  3. 3. Manipulation des expressions régulières
    1. 3.1 Compilation d'expression régulière
    2. 3.2 Recherche de chaînes
      1. 3.2.1 Méthode std::regex_match
      2. 3.2.2 Méthode std::regex_search
    3. 3.3 Substitution de chaînes
Les expressions régulières en Go
  1. 1. Généralités
  2. 2. Les expressions régulières
  3. 3. Manipulation des expressions régulières
    1. 3.1 Compilation d'expression régulière
      1. 3.1.1 Fonction Compile()
      2. 3.1.2 Fonction CompilePOSIX()
      3. 3.1.3 Fonction MustCompile()
      4. 3.1.4 Fonction MustCompilePOSIX()
    2. 3.2 Recherche de chaînes
      1. 3.2.1 Fonction MatchString()
      2. 3.2.2 Fonction FindString()
      3. 3.2.3 Fonction FindAllString()
      4. 3.2.4 Fonction FindStringSubmatch()
      5. 3.2.5 Fonction FindStringSubmatchIndex()
    3. 3.3 Substitution de chaînes
      1. 3.3.1 Fonction ReplaceAll()
      2. 3.3.2 Fonction ReplaceAllString()
    4. 3.4 Manipulation de chaînes
Les expressions régulières en Java
  1. 1. Généralités
  2. 2. Les expressions régulières
  3. 3. Manipulation des expressions régulières
    1. 3.1 Compilation d'expression régulière
    2. 3.2 Recherche de chaînes
      1. 3.2.1 Fonction Pattern.matcher()
      2. 3.2.2 Fonction Matcher.matches()
      3. 3.2.3 Fonction Matcher.find()
    3. 3.3 3.3 Substitution de chaînes
      1. 3.3.1 Fonction Matcher.replaceFirst()
      2. 3.3.2 Fonction Matcher.replaceAll()
    4. 3.4 Découpage de chaînes
Les expressions régulières en JavaScript
  1. 1. Généralités
  2. 2. Utilisation des expressions régulières
  3. 3. Les expressions régulières
    1. 3.1 Utilisation du caractère .
    2. 3.2 Utilisation du caractère \
    3. 3.3 Utilisation des caractères [ ]
    4. 3.4 Utilisation du caractère *
    5. 3.5 Utilisation du caractère +
    6. 3.6 Utilisation du caractère ?
    7. 3.7 Utilisation des caractères ( )
    8. 3.8 Utilisation des caractères (?:...)
    9. 3.9 Utilisation des caractères (?=...)
    10. 3.10 Utilisation des caractères (?!...)
    11. 3.11 Utilisation des caractères {n}
    12. 3.12 Utilisation des caractères {n,}
    13. 3.13 Utilisation des caractères {n,p}
    14. 3.14 Utilisation du caractère |
    15. 3.15 Utilisation du caractère ^
    16. 3.16 Utilisation du caractère $
Les expressions régulières avec Julia
  1. 1. Généralités
  2. 2. La définition des expressions régulières
  3. 3. Manipulation des expressions régulières
    1. 3.1 Recherche de chaînes
      1. 3.1.1 Fonction occursin()
      2. 3.1.2 Fonction match()
    2. 3.2 Substitution de chaînes
  4. 4. Modificateurs de signification
Les expressions régulières en Perl
  1. 1. Généralités
  2. 2. Intégration des expressions régulières au langage
    1. 2.1 Généralités
    2. 2.2 Avertissement
    3. 2.3 Recherche de chaînes
    4. 2.4 Substitution de chaînes
  3. 3. Les expressions régulières
    1. 3.1 Utilisation du caractère .
    2. 3.2 Utilisation du caractère \
    3. 3.3 Utilisation des caractères [ ]
    4. 3.4 Utilisation du caractère *
    5. 3.5 Utilisation des caractères *?
    6. 3.6 Utilisation du caractère +
    7. 3.7 Utilisation des caractères +?
    8. 3.8 Utilisation du caractère ?
    9. 3.9 Utilisation des caractères ??
    10. 3.10 Utilisation des caractères ( )
    11. 3.11 Utilisation des caractères (?imsx-imsx)
    12. 3.12 Utilisation des caractères (?imsx-imsx:...)
    13. 3.13 Utilisation des caractères (?:...)
    14. 3.14 Utilisation des caractères (?#...)
    15. 3.15 Utilisation des caractères (?=...)
    16. 3.16 Utilisation des caractères (?!...)
    17. 3.17 Utilisation des caractères (?<=...)
    18. 3.18 Utilisation des caractères (?
    19. 3.19 Utilisation des caractères (?>...)
    20. 3.20 Utilisation des caractères (?{...})
    21. 3.21 Utilisation des caractères {n}
    22. 3.22 Utilisation des caractères {n,}
    23. 3.23 Utilisation des caractères {n,p}
    24. 3.24 Utilisation des caractères {n,}?
    25. 3.25 Utilisation des caractères {n,p}?
    26. 3.26 Utilisation du caractère |
    27. 3.27 Utilisation du caractère ^
    28. 3.28 Utilisation du caractère $
  4. 4. Les classes de caractères
  5. 5. Exemple de programme de recherche de correspondance
  6. 6. Exemple de programme de substitution
Les expressions régulières en Python
  1. 1. Généralités
  2. 2. Le module de gestion des expressions régulières
    1. 2.1 Utilisation
    2. 2.2 Méthode re.compile()
    3. 2.3 Méthode re.search()
    4. 2.4 Méthode re.match()
    5. 2.5 Méthode re.sub()
  3. 3. Les expressions régulières
    1. 3.1 Utilisation du caractère .
    2. 3.2 Utilisation du caractère \
    3. 3.3 Utilisation des caractères [ ]
    4. 3.4 Utilisation du caractère *
    5. 3.5 Utilisation des caractères *?
    6. 3.6 Utilisation du caractère +
    7. 3.7 Utilisation des caractères +?
    8. 3.8 Utilisation du caractère ?
    9. 3.9 Utilisation des caractères ( )
    10. 3.10 Utilisation des caractères (?iLmsux)
    11. 3.11 Utilisation des caractères (?:...)
    12. 3.12 Utilisation des caractères (?P...)
    13. 3.13 Utilisation des caractères (?P=name)
    14. 3.14 Utilisation des caractères (?#...)
    15. 3.15 Utilisation des caractères (?=...)
    16. 3.16 Utilisation des caractères (?!...)
    17. 3.17 Utilisation des caractères (?<=...)
    18. 3.18 Utilisation des caractères (?
    19. 3.19 Utilisation des caractères { }
    20. 3.20 Utilisation du caractère |
    21. 3.21 Utilisation du caractère ^
    22. 3.22 Utilisation du caractère $
Les expressions régulières en R
  1. 1. Généralités
  2. 2. Les expressions régulières
  3. 3. Manipulation des expressions régulières
    1. 3.1 Recherche de chaînes
      1. 3.1.1 Fonction grep()
      2. 3.1.2 Fonction grepl()
      3. 3.1.3 Fonction regexpr()
      4. 3.1.4 Fonction gregexpr()
      5. 3.1.5 Fonction regexec()
    2. 3.2 Substitution de chaînes
      1. 3.2.1 Fonction sub()
      2. 3.2.2 Fonction gsub()
Les expressions régulières en Rust
  1. 1. Généralités
  2. 2. Les expressions régulières
  3. 3. Manipulation des expressions régulières
    1. 3.1 Compilation d'expression régulière
      1. 3.1.1 Fonction Regex::new()
      2. 3.1.2 Fonction RegexBuilder::new()
    2. 3.2 Recherche de chaînes
      1. 3.2.1 Fonction Regex::find()
      2. 3.2.2 Fonction Regex::find_iter()
      3. 3.2.3 Fonction Regex::captures()
      4. 3.2.4 Fonction Regex::is_match()
    3. 3.3 Substitution de chaînes
      1. 3.3.1 Fonction Regex::replace_all()
    4. 3.4 Découpage de chaînes
Synthèse des types d’expressions
  1. 1. Les expressions de sélection
    1. 1.1 Quels programmes les utilisent ?
    2. 1.2 Les métacaractères
    3. 1.3 Les quantificateurs
  2. 2. Les expressions régulières basiques
    1. 2.1 Quels programmes les utilisent ?
    2. 2.2 Les métacaractères
    3. 2.3 Les quantificateurs
    4. 2.4 Les classes de caractères
  3. 3. Les expressions régulières étendues
    1. 3.1 Quels programmes les utilisent ?
    2. 3.2 Les métacaractères
    3. 3.3 Les quantificateurs
    4. 3.4 Les classes de caractères
  4. 4. Les expressions régulières de find
    1. 4.1 Généralités
    2. 4.2 Les différentes interprétations des expressions régulières
      1. 4.2.1 emacs
      2. 4.2.2 posix-basic
      3. 4.2.3 posix-egrep
      4. 4.2.4 posix-extended
  5. 5. Les expressions régulières en Java
Les classes de caractères POSIX
  1. 1. Généralités
  2. 2. Les classes POSIX
    1. 2.1 [:alpha:]
    2. 2.2 [:lower:]
    3. 2.3 [:upper:]
    4. 2.4 [:alnum:]
    5. 2.5 [:digit:]
    6. 2.6 [:xdigit:]
    7. 2.7 [:space:]
    8. 2.8 [:blank:]
    9. 2.9 [:punct:]
    10. 2.10 [:print:]
    11. 2.11 [:graph:]
    12. 2.12 [:cntrl:]
Équivalences d'expressions régulières
  1. 1. Véritables équivalences d'expressions
  2. 2. Fausses équivalences
  3. 3. Conseils
Outils de validation d'expressions régulières
  1. 1. Besoin de mise au point
  2. 2. Validation des informations
    1. 2.1 Validation des données
    2. 2.2 Validation des expressions régulières avant utilisation
  3. 3. Méthodes de validation des expressions
    1. 3.1 Détermination du type d'expression régulière
    2. 3.2 Validation d'une expression de filtrage
    3. 3.3 Validation d'une expression régulière basique
    4. 3.4 Validation d'une expression régulière étendue
  4. 4. Règles de bonnes pratiques
Expressions particulières
  1. 1. Description
  2. 2. Expressions incluant des métacaractères
    1. 2.1 Caractères [ et ]
    2. 2.2 Caractères [ et -
    3. 2.3 Caractères [ et ^
    4. 2.4 Caractères ] et -
    5. 2.5 Caractères ] et ^
    6. 2.6 Caractères - et ^
    7. 2.7 Caractères [, ] et -
    8. 2.8 Caractères [, ] et ^
    9. 2.9 Caractères [, - et ^
    10. 2.10 Caractères ], - et ^
    11. 2.11 Caractères [, ], - et ^
    12. 2.12 Caractères de A à ]
  3. 3. Expressions excluant des métacaractères
    1. 3.1 Caractère ]
    2. 3.2 Caractère -
    3. 3.3 Caractère [
    4. 3.4 Caractère ^
    5. 3.5 Caractères [ et ]
    6. 3.6 Caractères [ et -
    7. 3.7 Caractères [ et ^
    8. 3.8 Caractères ] et -
    9. 3.9 Caractères ] et ^
    10. 3.10 Caractères - et ^
    11. 3.11 Caractères [, ] et -
    12. 3.12 Caractères [, ] et ^
    13. 3.13 Caractères [, ], - et ^
    14. 3.14 Caractères de A à ]
Quelques exercices récapitulatifs
  1. 1. Introduction
  2. 2. shell, sed, awk
  3. 3. find, egrep, hl
Annexes
  1. 1. Gestion des caractères français sous Linux
    1. 1.1 Installation du paquet d’internationalisation
    2. 1.2 Exemple d’installation
    3. 1.3 Exemple de configuration
    4. 1.4 Choix du jeu de caractères
  2. 2. Sources de la commande args
  3. 3. Sources de la commande hl
    1. 3.1 Fichier cr_cpri.h
    2. 3.2 Fichier cr_epri.h
    3. 3.3 Fichier cr_gpri.c
    4. 3.4 Fichier cr_main.c
    5. 3.5 Fichier makefile
  4.  
  5.  
  6. Index
Auteur : Martial BORNET

Martial BORNET

Martial BORNET est ingénieur en informatique depuis plus de 35 ans, diplômé de l'Ecole Supérieure d'Informatique. Il a débuté sa carrière dans une start-up pionnière dans le monde du réseau local, en tant que développeur réseau et système. Actuellement consultant en Système, spécialisé sur UNIX et ses dérivés, il effectue des missions d'expertise dans des start-up de haut niveau ou chez des grands comptes et exploite très fréquemment les expressions régulières dans le cadre de ses développements.
En savoir plus

Nos nouveautés

voir plus