0% ont trouvé ce document utile (0 vote)
3 vues2 pages

TP3 - Manipulation D'expressions R Eguli' Eres (2h) : Exercice 1

Le document présente un TP sur la manipulation d'expressions régulières en Python, avec des exercices pratiques. Les étudiants doivent utiliser des fichiers texte pour rechercher des prénoms dans un script de film et extraire des adresses email d'un mail brut. Des instructions détaillées sont fournies pour chaque exercice, incluant des exemples d'utilisation des fonctions à créer.

Transféré par

rsa.golf7
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues2 pages

TP3 - Manipulation D'expressions R Eguli' Eres (2h) : Exercice 1

Le document présente un TP sur la manipulation d'expressions régulières en Python, avec des exercices pratiques. Les étudiants doivent utiliser des fichiers texte pour rechercher des prénoms dans un script de film et extraire des adresses email d'un mail brut. Des instructions détaillées sont fournies pour chaque exercice, incluant des exemples d'utilisation des fonctions à créer.

Transféré par

rsa.golf7
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITÉ DE CAEN

BUT Réseaux et Télécoms R203

TP3 – manipulation d’expressions régulières (2h)

Exercice 1 regex en ligne

Maintenant que vous avez quelques bases sur l’écriture des expression régulières, le
mieux pour apprendre est de manipuler !

Rendez-vous sur le site interactif [Link] : celui-ci vous propose de


découvrir l’utilisation de regex de manière progressive avec différents exercices à compléter.
N’hésitez pas à utiliser la fiche de synthèse fournie sur Ecampus pour vous aider.

Idéalement, essayez d’aller au moins jusqu’à ”Lesson 9 : All this whitespace”

Exercice 2 regex en Python

Vous trouverez sur Ecampus deux fichiers à télécharger :


— [Link] : il contient l’intégralité du script du film du même nom
— [Link] : il contient un extrait d’un mail brut envoyé par votre secrétaire favorite

1. Ecrire en Python une fonction chercheLignesPrenom(prenom) :


— elle prends en entrée un prénom
— elle parcourt chaque ligne du fichier [Link]
— pour chaque ligne, elle recherche avec une expression régulière si le prénom
passé en argument est présent dans la ligne. Si c’est le cas, elle affiche la ligne
courante.
,→ le but est donc d’obtenir les lignes du script en fonction du prénom donné en
argument. Vous pouvez essayer avec les noms ”Georges”, ”Steven”, ”Peter” ou
encore ”Dave”
>>> c h e r c h e L i g n e s P r e n o m ( ’ Jo ë l ’ )
Jo ë l : A b i t b o l !

Jo ë l : En p u i s s a n c e i n t e l l e c t u e l l e , on va v o i r s ’ que t u vaux .

Jo ë l : Trè s b i e n , c ’ e s t une d e v i n e t t e . Qu ’ e s t ce qui a trois b r a s , un s e u l chapeau [ . . . ]

Jo ë l : Bravo , il la connaissait !

Jo ë l : ( En r e g a r d a n t le c i e l )Oh ç a s e n t la pluie ç a . On va r e n t r e r , et [...]

Jo ë l : Comment peux t u = c r o i r e à d e s conneries pareilles ?

Jo ë l : Je reviens ! Je d o i s y a l l e r !

Jo ë l : a... a...

Jo ë l : A. . . A. . . . a . . a . . a . . . arrrrhhhh

Jo ë l : Ca daube , ç a daube ! !

1
2. Ecrire en Python une fonction chercheQuestionsPrenom(prenom) :
— elle prends en entrée un prénom
— elle parcourt chaque ligne du fichier [Link]
— pour chaque ligne, elle recherche avec une expression régulière : le prénom passé
en argument, et si la phrase contient une question (caractère ?). Si c’est le cas,
elle affiche la ligne.
,→ on veut donc obtenir la liste des questions posées par le personnage passé en
argument dans le film
>>> c h e r c h e Q u e s t i o n s s P r e n o m ( ’ Gael ’ )
Gael : Quoi , du c a l m e ?

Gael : Mais p o u r q u o i t u d i s ç a ?

Gael : Mais o u i , j ’ s u i s un bab , bé a l o r s ? Ca t e dé f r i s e , v i e u x r é ac ’ ? [...]

3. On souhaite maintenant parcourir le fichier [Link] afin d’extraire uniquement


les adresses mail contenues dans celui-ci. La logique est la même que précédemment
mais l’expression régulière est assez complexe à écrire, on va procéder par étapes.

Créer une fonction chercheMails() qui parcoure le fichier [Link] ligne par ligne
et affiche la ligne uniquement si on a un résultat d’expression régulière. Le but est
de commencer par une expression régulière simple, puis de la compléter au fur et
à mesure pour obtenir le résultat final.

>>> c h e r c h e M a i l s ( )
=
i u t . i f s . r t . ens o w n e r @ l i s t e . u n i c a e n . f r
francoise . fior@unicaen . f r
i u t . i f s . rt . e n s @ l i s t e . unicaen . f r
i u t . i f s . rt . v a c a t a i r e s @ l i s t e . unicaen . f r
1 9 6 6 8 5 2 9 5 0 . 2 1 0 6 6 5 3 . 1 6 4 6 1 1 9 5 9 9 6 4 3 . JavaMail . zimbra@unicaen . f r
francoise . fior@unicaen . f r
i u t . i f s . rt . e n s @ l i s t e . unicaen . f r
=
i u t . i f s . r t . ens o w n e r @ l i s t e . u n i c a e n . f r
=
i u t . i f s . r t . ens r e q u e s t @ l i s t e . u n i c a e n . f r
sympa@liste . unicaen . f r
sympa@liste . unicaen . f r
sympa@liste . unicaen . f r
i u t . i f s . rt . e n s @ l i s t e . unicaen . f r
=
i u t . i f s . r t . ens r e q u e s t @ l i s t e . u n i c a e n . f r
i u t . i f s . rt@unicaen . f r

Indications : Format d’un mail : username @ provider . domain


— username est 1 à plusieurs caractères parmi une liste : l’alphabet en minuscules
et majuscules, les chiffres, le caractère tiret, underscore, point, et plus
— provider est 1 à plusieurs caractères parmi une liste : l’alphabet en minuscules
et majuscules, les chiffres, le caractère tiret
— domain est 1 à plusieurs caractères parmi une liste : l’alphabet en minuscules
et majuscules, les chiffres, le caractère tiret et point
,→ ne pas oublier d’échapper le caractère spécial ”point”

Vous aimerez peut-être aussi