PERL et Expression régulière ...

  • Créateur du sujet Créateur du sujet Membre supprimé 23628
  • Date de début Date de début
M

Membre supprimé 23628

Invité
Certains diront que je suis une buse, d'autres que j'avais qu'à suivre mes cours .... alors pour éviter toutes ces attaques éhontées ... je précise que je ne suis pas développeur du tout .. :rateau:

Entrons dans le vif du sujet, j'aimerai pouvoir extraire d'une page web (trucchouette) l'ensemble des phrases contenant joli poulet.
Bien conscient qu'on ne peut reduire à phrase tout ce qui commence par une majuscule et finit par un point, je fais simple et tronquerai après : je souhaite extraire tout ce qu'il y a entre deux points et qui contient "joli poulet" ... soit ça :

xxx xxxx xx xx x x x x x xxxx x xxx . xxxxx joli poulet xx xxxxx xxx. xxxx x xxxxx

J'ai écrit cela, mais ça ne marche pas. J'en appelle à vos lumières .... :rose:
my $html = get("http://www.truchouette.com/") or die "premier problème ... génial ....";

if ($html=~ (/ ^\. .* joli poulet .* \.$ /i) ) {
print "gagné\n";
print "$1\n";
}
else {print "perdu\n";}

Merci d'avance .. :zen:
 
Bloc de code:
#!/usr/bin/perl 
use strict;
use LWP::Simple qw/get/;

my $html = get("http://www.apple.com") or die "premier problème ... génial ....";

#print $html;

if ($html=~ (/(.*)(Apple)(.*)/ig) ) {
    print "gagné\n";
    print "$1";
    print "$2";
    print "$3";
}
else {print "perdu\n";}
juste pour te montrer quelque chose...

1- virer tous les CR LF \n \r
2 - prendre <body>(.*)</body>
3 - HTML::Strip

e.g effectivement je catche la premiere occurence ...
 
  • J’aime
Réactions: dumbop84
Merci pour vos réponses ... je me penche sur la solution de Tatouille .. mais il y a toujours un hic

#!/usr/bin/perl
use strict;
use LWP::Simple qw/get/;

my $html = get("http://www.fredcavazza.net/") or die "HIC";

if ($html=~ /\.(.*)(look génériques)(.*)\./ig ) {
print "GAGNÉ\n";
print "$1\n";
print "$2\n";
print "$3\n";
}

else {print "PERDU\n";}

Prenons le blog de fredcavazza et cherchons y la phrase qui contient "look génériques"...

Viens ensuite l’étape de création de votre avatar. Plusieurs look génériques vous sont proposés comme point de départ avant de vous lancer dans une personnalisation plus fine (et facultative). Un choix très limité de coupes de cheveux et vêtements vous sont proposés afin de simplifier la procédure… et surtout de mettre en valeur la boutique. En fait de boutique il s’agit plutôt d’une place de marché d’objets virtuels. Un domaine que Google connait très bien avec le 3D warehouse qui est en ligne depuis plusieurs années.

Le problème c'est que mon "bout de code" me sort (dans le terminal) :

Plusieurs look génériques vous sont proposés comme point de départ avant de vous lancer dans une personnalisation plus fine (et facultative)[/COLOR]. Un choix très limité de coupes de cheveux et vêtements vous sont proposés afin de simplifier la procédure… et surtout de mettre en valeur la boutique. En fait de boutique il s’agit plutôt d’une place de marché d’objets virtuels. Un domaine que Google connait très bien avec le 3D warehouse qui est en ligne depuis plusieurs années.

Et je ne vois pas la faute dans la regexp ...
:hein::hein:


merci d'avance pour vos lumières ... :zen: