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] Expression régulière


Sujet :

Langage Perl

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 87
    Par défaut [langage] Expression régulière
    bonjour,

    je cherche l'expression régulière de cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    20@@@subject@@@include@@@(^\:\-\(\(\ )@@@move@@@mail-spams@@@1
    je veux récupérer l'expression suivante (^\:\-\(\(\ ) située entre include et move.
    j'ai essayé celle-ci mais ça me retourne 1 (la dernière lettre)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $id = /^.*\@\@\@.*\@\@\@.*\@\@\@(.*)$/;
    merci d'avance pour vos réponses...

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 87
    Par défaut
    j'ai essayé aussi celle-ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $id = /^.*?\@\@\@.*?\@\@\@.*?\@\@\@(.*?)/;
    car le $ à la fin n'était pas très judicieux
    mais ça ne fonctionne tjrs pas

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 67
    Par défaut
    c'est normal, le ^.* va correspondre aussi à des @@@, donc ça ne peux pas marcher.
    Je ne comprends pas trop la façon dont tu veux récupérer ton expression:
    - si elle est toujours située entre include et move, indique le dans ton expression régulière.
    - si par contre, les @@@ jouent un rôle de délimiteur et que ton expression recherchée est toujours à la même position, fais plutôt un split avec comme délimiteur @@@

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 52
    Par défaut
    si ce que tu veux extraire est tjs entre parenthèses, tu peux aussi tout simplement te baser dessus.
    Il faut les déspécialiser.
    Par exple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $s =~ /^.+?(\(.+?\)).+$/
    extrait (^\:\-\(\(\ ) et le met dans $1.

    Autre possibilité sans se baser sur les parenthèses, en reprenant ta regexp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /^[^@]+@@@[^@]+@@@[^@]+@@@([^@]+?)@/
    Là aussi, ce qui t'intéresse devrait être dans $1.

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 87
    Par défaut OK
    ok, voici l'expression régulière que j'ai trouvé qui a l'air de bien fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /^20\@\@\@subject\@\@\@include\@\@\@([^\@]*?)\@\@\@move\@\@\@mail-spams\@\@\@1$/;

    merci à schnecke et Hebus35
    ciao

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

Discussions similaires

  1. [langage] [expression reguliere] : syntaxe
    Par arcane dans le forum Langage
    Réponses: 8
    Dernier message: 25/09/2003, 13h03
  2. [langage] [Expression][Régulière] motif
    Par Cyspak dans le forum Langage
    Réponses: 4
    Dernier message: 23/09/2003, 14h24
  3. [langage] expression regulier et test
    Par toto_titi dans le forum Langage
    Réponses: 5
    Dernier message: 16/07/2003, 17h41
  4. Réponses: 2
    Dernier message: 16/06/2003, 15h15
  5. [langage] expression reguliere motif répétitif dans 1 pattern
    Par comme de bien entendu dans le forum Langage
    Réponses: 11
    Dernier message: 09/04/2003, 16h14

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