Laboratoire "regexp" Avant-propos * Pour les questions de ce laboratoire, à l’exception de la querstion 2, vous devez compléter un fichier texte qui contiendra des données servant à tester vos expressions régulières à l’aide de ViM. N'oubliez pas que les tests doivent adresser deux choses: ce qui répond à l'expression et aussi des cas invalides. Ces cas "invalides" servent à vérifier que l'expression régulière ne les considère pas selon le "masque". Questions 1. Trouvez l'expression naturelle qui permet de représenter l’heure dans le format hh:mm:ss sur 24 heures, avec plein vérification. Par exemple 14:28:32 est bon mais pas 27:28:32. \( \([0-1][0-9]\)\|\(2[0-3]\)\)\(:[0-5][0-9]\)\{2} | 2. Pour le fichier "shadow" à récupérer de /export/home/public/cours/204/regex, vous devez utilisez la recherche et substitution en ViM pour enlever, en une seule opération, la première colonne (jusqu’à la 1re série de deux-points « : »). La première colonne décrit le nom d'usager (username) et ces noms sont formés de chiffres et de lettres (minuscules/majuscules). | 3. Concevez une expression régulière qui permet de sélectionner les numéros ISBN (International Standard Book Number) des livres. On considère uniquement les ISBN représentés sur 10 chiffres et qui répondent au format : 9-999-99999-9 où 9 indique la présence d'un chiffre.
[0-9]-[0-9]\{3}-[0-9]\{5}-[0-9] | 4. On veut une expression régulière qui valide les points cardinaux (abréviations seulement): Abréviation | Point | N | nord | NE | nord-est | E | est | SE | sud-est | S | sud | SO | sud-ouest | O | ouest | NO | nord-ouest | \<\(\(N\)\|\(NE\)\|\(E\)\|\(SE\)\|\(S\)\|\(SO\)\|\(O\)\|\(NO\)\)\> | 5. Créez une expression régulière qui valide un angle en degrés. * nombre entier, * compris entre 000 et 359
(attention : 275 est bon mais pas 375) * les zéros non-significatifs sont toujours présents *