IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

[langage] Probleme expression régulière


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Points : 22
    Points
    22
    Par défaut [langage] Probleme expression régulière
    Bonjours ,j'ai cherché sur internet des tutos sur les expressions réguliere j'ai trouvé mais rien de très précis. Je faisais un code qui allait sur une page web (avec LWP::Simple) ensuite je voulais chercher dans la source de la page un mot exacte. Je vous montre mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #!usr/bin/perl
    use LWP::Simple;
    print"\n[+]Cherche la chaine...\n";sleep(1);
    my $url="http://monsite.com/page.php";
    my $result=get($url) or die"[+]Une erreur est survenue...";
     if ($result=~ /Im_g100.gif\b/)
     {
     my $code="0896378";
     }
    if ($result=~ /Im_g120.gif\b/)
     {
     my $code="1113879";
     }
    if ($result=~ /Im_g25.gif\b/)
     {
     my $code="4693478";
     }
    if ($result=~ /Im_g40.gif\b/)
     {
     my $code="4963578";
     }
    if ($result=~ /Im_g45.gif\b/)
     {
     my $code="7924819";
     } 
     if ($result=~ /Im_g75.gif\b/)
     {
     my $code="9965782";
     }
     print"$code";
    Mais je n'ai aucun résultat je ne vois vraiment pas comment y arriver :s.

  2. #2
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 101
    Points : 56
    Points
    56
    Par défaut
    salut, pourquoi met tu \b a chaque fois ?
    Le bon code il me semble est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($result =~ /Im_g100.gif/)
     {
     my $code="0896378";
     }

  3. #3
    Membre chevronné
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Points : 2 004
    Points
    2 004
    Par défaut
    Bonjour,

    je te conseille de lire la FAQ sur ce sujet
    Effectivement, je ne comprend pas pourquoi tu mets ton \b.
    "En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
    Application :

    ainsi qu'à regarder la avant de poser une question.

    La rubrique Perl recrute, contactez-moi.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Merci à vous je vais aller lire sa.

    édit : j'ai tous lus , malgré sa je n'arrive toujours pas à récupérer la chaine de caractère dans le code source de la page.

  5. #5
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 101
    Points : 56
    Points
    56
    Par défaut
    Salut,

    si j'ai bien compris tu veut verifier dans le coder sorce d'une page s'il existe bien un mot que tu cherches.
    Pour cela tu doit utiliser l'opérateur =~ avec une regex.

    Voici un exemple que tu peux tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $a = "perl";
    $b = "php";
     
    if ($a =~ /perl/){
    print "Perl\n";
    }
    if ($b =~ /perl/){
    print "Perl2\n";
    }
    Tu comprends que Perl va s'afficher.


    Sinon ton problème doit venir d'ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    use LWP::Simple;
    print"\n[+]Cherche la chaine...\n";sleep(1);
    my $url="http://monsite.com/page.php";
    my $result=get($url) or die"[+]Une erreur est survenue...";
    Remplace par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    use LWP::Simple;
    print"\n[+]Cherche la chaine...\n";sleep(1);
    my $url="http://monsite.com/page.php";
    $request = HTTP::Request->new(GET => "$url");
    $res = $ua->request($request); 
    $result = $res->content;

    Et n'oublie pas la bonne synthaxe pour les comparaisons (vire le \b)
    ++

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Merci à toi c'est sympa .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 16/07/2004, 12h19
  2. [langage] Problème d'expression régulière
    Par xavro dans le forum Langage
    Réponses: 11
    Dernier message: 13/07/2004, 14h48
  3. [langage] Problème d'expression régulière
    Par And_the_problem_is dans le forum Langage
    Réponses: 7
    Dernier message: 22/03/2004, 15h03
  4. [langage] problème expression régulière
    Par chtiboss dans le forum Langage
    Réponses: 6
    Dernier message: 05/01/2004, 16h08
  5. Réponses: 2
    Dernier message: 04/01/2004, 15h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo