# Infonum Techniques d'écriture et d'édition - TP expressions régulières **Notez chaque expression dans un fichier `nomdefamille.txt` à part pour ne pas les perdre.** Une expression régulière par ligne et rien d'autre. Le fichier sera à déposer sur le serveur commun (dossier `communs-enseignement/enseignement-ino/PERRET/RENDUS TP`) au début du cours prochain (3 mars 10h30). ## Exercice 1 Récupérez le fichier ER-Cyrano.txt et ouvrez-le avec Notepad++ ou Brackets. Utilisez la fonction Recherche en activant les expressions régulières et la sensibilité à la casse. Pour chaque énoncé ci-dessous, trouvez une expression régulière qui permet de répondre à la question. 1. Trouvez dans ce fichier toutes les occurrences de la chaîne de caractère nez. Observez les résultats obtenus grâce à cette recherche. 2. Trouvez dans ce fichier toutes les occurrences du mot nez. 3. Trouvez toutes les lignes où le mot nez ne figure pas. 4. Trouvez toutes les occurrences du mot marquis (minuscules, majuscules confondues). 5. Trouvez toutes les lignes qui commencent par « L » ou par « l ». 6. Trouvez toutes les lignes qui commencent par une majuscule. 7. Trouvez toutes les lignes qui finissent par un point d’exclamation (ex : Chez monsieur de Valvert !). 8. Trouvez toutes les lignes qui finissent par les trois points (ex : Macarons, citronnée...). 9. Trouvez toutes les lignes qui finissent par un signe de ponctuation fort (point, point d’interrogation, point d’exclamation). 10. Trouvez toutes les lignes qui ne finissent pas par un des signes de ponctuation suivants : virgule, point-virgule, deux–points. 11. Trouvez toutes les lignes qui finissent par une voyelle (majuscule ou minuscule). 12. Trouvez toutes les lignes qui commencent par une consonne. 13. Trouvez toutes les lignes qui contiennent un nombre quelconque. 14. Trouvez toutes les lignes qui contiennent une date sous forme d’année (ex : 1655). 15. Trouvez tous les mots qui contiennent trois voyelles qui se suivent (ex : monsieur). 16. Existent-ils dans ce fichier des mots qui contiennent exactement 5 voyelles qui se suivent ? 17. Trouvez toutes les mots contenant cap sauf le mot capitaine. 18. Trouvez toutes les occurrences du verbe faire au présent de l’indicatif (au singulier et au pluriel). 19. Trouvez toutes les occurrences du verbe aimer à l’infinitif, et conjugué au présent et à l’imparfait singulier de l’indicatif (ex : aimer, aime, aimais). 20. Donnez le nombre de lignes où toutes les lettres sont en majuscules. 21. Trouvez la voyelle la plus fréquente dans ce fichier après la voyelle e (qui est la plus fréquente en français). 22. Trouvez tous les mots qui commencent par a et se terminent par é. 23. Trouvez toutes les lignes qui commencent et qui finissent par une voyelle. 24. Trouvez tous les mots composés de 8, 9 ou 10 caractères. 25. Trouvez tous les mots composés exactement de 10 caractères. 26. Trouvez le mot le plus long dans ce fichier. 27. Trouvez le(s) mot(s) le(s) plus long(s) composé(s) uniquement à partir de lettres qui se trouvent sur les touches de la première rangée de votre clavier. 28. Trouvez tous les mots composés (ex : porte-avion). 29. Trouvez toutes les lignes comportant des nombres en chiffres romains. 30. Comptez le nombre de répliques de Cyrano et de Roxane. 31. Vérifiez si la chaîne de caractères « C’est un roc !... c’est un pic !... c’est un cap ! Que dis-je, c’est un cap ? C’est une péninsule ! » figure dans ce fichier. 32. Comptez le nombre de lignes blanches dans ce fichier. ## Exercice 2 Récupérez le fichier ER-Listing.txt et ouvrez-le avec Notepad++ ou Brackets. Utilisez la fonction Recherche en activant les expressions régulières et la sensibilité à la casse. Pour chaque énoncé ci-dessous, trouvez une expression régulière qui permet de répondre à la question. **Soyez attentifs à la structure du document** : c'est un tableau de données, chaque ligne indique des données séparées par tabulation. 1. Retrouvez dans ce fichier tous les codes postaux. 2. Retrouvez tous les codes postaux de la région lyonnaise présents dans le fichier ainsi que les villes qui correspondent à ces codes. 3. Retrouvez toutes les chaînes qui représentent le n° et le nom de la rue (ex : 16 RUE VICTOR HUGO ou 5 AVENUE DES CHAMPS ELYSEES). 4. Combien de numéros de téléphone dans ce fichier représentent des numéros de téléphone portable ? 5. Retrouvez toutes les personnes dont le numéro de téléphone n’est pas connu (ex : GALLINO BERNARD 17 AVENUE J.JAURES 38 240 MEYLAN 15/6/1951 00:00:00). 8. Retrouvez tous les noms de famille qui commencent par une consonne et se terminent par une voyelle ? 9. Retrouvez toutes les dates de naissance dans les années soixante-dix et quatre-vingt (ex : 15/4/1970 ou 16/11/1985). 10. Retrouvez toutes les dates de naissance entre 1970 et 1980 (année 1980 incluse). Attention : toutes les questions qui suivent impliquent la modification du fichier sur lequel vous travaillez. À tout moment, il est possible d’annuler la ou les dernière(s) modification(s) apportée(s) dans le fichier en utilisant Ctrl+Z. En utilisant la fonction Remplacement : 11. Supprimez dans ce fichier toutes les chaînes de caractères représentant l’heure présentes à la fin de chaque ligne. 12. Supprimez les chaînes de caractères représentant l’heure qui se trouvent entre la date de naissance et la date d’inscription. Après cette modification la date de naissance doit être séparée de la date d’inscription par une tabulation. 13. Modifiez tous les numéros d’adhérents en ajoutant devant chaque numéro un 10. 14. Modifiez les chaînes de caractères représentant le code postal en supprimant l’espace qui sépare le code du département de celui de la commune. 15. Homogénéisez toutes les dates présentes dans ce fichier en convertissant celles qui ne suivent pas le format jj/mm/aaaa dans ce format. Ex : 12/1/1960 en 12/01/1960. 16. Modifiez tous les numéros de téléphone de la manière suivante : 06 76 45 55 12 en 06.76.45.55.12 17. Inversez l’ordre des noms et des prénoms dans ce fichier de la manière suivante : 95008 JANDRU BERNARD en 95008 BERNARD JANDRU