Etape 2: expressions régulières

L'expression régulière est une chaîne de caractères décrivant le contenu de chaînes selon des conventions données (exemple : '?' remplace un caractère, '*' remplace n'importe quel groupe de caractères ...), le plus souvent utilisées afin de rechercher un texte.
 
 
Voici un petit texte qu'on pourra améliorer à son gout:


#!/usr/bin/perl -w
$texte="Il y a 2 mois, ce n'est pas toi qui a découvert cette vieille armoire, cachée sous la toiture\n.
Moi, je te dis que c'est bien moi, il y a 2 ou 3 mois ";
$motif=<>;
chomp($motif);
print "Recherche de $motif\n";


On demande d'écrire les motifs, puis
de tester, pour chercher :
  1. l'un des mots "moi", "toi", partout dans le texte
  2. les sous-chaines "moi" ou "toi".
  3. le mot "moi" seulement en début de phrase


Fichier contenant le programme: cliquez!!


Le résultat:

e2loc

La différence entre la chaîne et la sous-châine est que lorsqu'on recherche une chaîne on recherche le mot exact de la chaîne alors que lorsqu'on cherche une sous-chaîne, on recherche une suite de caractères correspondant à cette sous-chaîne mais qui peut être contenu dans un mot ou bien se présenter seul.

Fichier contenant le résultat: cliquez!!

 
  Version 1

Soit un texte stocké dans le fichier texte (on pourra utiliser par défaut gpl.txt en anglais, et aussi tester regex.txt). On demande à l'utilisateur de saisir le mot recherché.
Le script doit parcourir chaque ligne du fichier et afficher chaque ligne où le mot est présent en le mettant en valeur.
Conclure l'étude par une phrase du genre :
"le mot .... est présent ... fois dans .. lignes du fichier ..."
"le mot .... n'a pas été trouvé dans le fichier ..."

Fichier contenant le programme: cliquez!!

Fichier analysé: cliquez!!


Dans le terminal:

cherchemot

Fichier contenant le résultat: cliquez!!



Version 2

Modifier le script précédent pour compter les occurences des mots au cas où il n'y a pas de saisie.

Fichier contenant le programme: cliquez!!

Fichier analysé: cliquez!!


Dans le terminal:

cherchemot2

Fichier contenant le résultat: cliquez!!
 
  Soit un texte stocké dans un fichier texte nommé essai.txt, qu'on pourra modifier
L'utilisateur saisit une chaine au clavier. Le script doit afficher : "Dans la ligne numéro .. , la lettre .. est redoublée dans le mot ..."


Fichier contenant le programme: cliquez!!

Fichier analysé: cliquez!!


Dans le terminal:

cherchedouble

Fichier contenant le résultat: cliquez!!

 
  Reconnaitre qu'un verbe est écrit à l'infinitif, et dans ce cas donner sa conjugaison au présent de l'indicatif



Fichier contenant le programme: cliquez!!



Résultat:

conjugueur


 
  Étant donnée une phrase qui contient une somme exprimée en francs, la convertir en euros.
On supposera que la somme, d'abord nombre entier puis décimal, est suivi du symbole F ou f
La phrase sera saisie. En son absence, une phrase par défaut est prévue.



Fichier contenant le programme: cliquez!!



Résultat:

convertisseur