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 :

petit problème d'expression régulière


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédactrice

    Avatar de stoyak
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 408
    Par défaut petit problème d'expression régulière
    Bonjour à tous,

    j'ai un petit problème d'expression régulière.
    mon expression est du genre
    vb|CV677544|wx|HJIT45512 et je souhaite récupérer CV677544.

    j'avais donc une expression du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $case =~ s/^\w+\|(.+)\|\w+\|.+/$1/gi;
    MAis voilà, parmi les 50 000 lignes que j'ai à traiter, j'ai qq intruses du style:
    pl|NBCXWQA
    et donc mon expression n'est plus correcte puisque je récupère pl|NBCXWQA!!!
    j'avoue que j'ai tellement le nez dans ces lignes, que j'ai du mal à voir l'expression, simple j'en suis sûre, que je dois écrire!
    Une idée?

  2. #2
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Un split ne suffirait pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $partie = (split (/\|/, $chaine)[1];

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    soit comme eurocent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $case= (split (/\|/, $chaine)[1]; 
    ou bien
    $case =~ s/^\w+\|(.+)/$1/i;

  4. #4
    Rédactrice

    Avatar de stoyak
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 408
    Par défaut
    non,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $case =~ s/^\w+\|(.+)/$1/i;
    ne marche pas, j'avais bien testé!
    j'ai donc fait avec un split, en récupérant ma variable dans 1 tableau ... ça fait bcp de manip de tableaux et de chaîne dans ce script, mais le principal, c'est que ça marche!


  5. #5
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Si tu préfère vraiment passer par une expression rationnelle, cela ne pose pas de problème non plus, bien que je trouvais le split plus lisible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ($partie) = ($chaine =~ m/\w*\|(\w*)\|*/gi);
    A toi de voir

  6. #6
    Rédactrice

    Avatar de stoyak
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 408
    Par défaut
    merci 2Eurocents, je vais rester sur le split. ça me permettra d'avoir accès facilement aux autres identifiants si besoin est.
    Encore merci!

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

Discussions similaires

  1. [regexp] petit problème d'expression régulière
    Par LE NEINDRE dans le forum Langage
    Réponses: 14
    Dernier message: 16/12/2005, 10h33
  2. Problème d'expression régulière
    Par SiM07 dans le forum Langage
    Réponses: 2
    Dernier message: 02/12/2005, 17h57
  3. Problème d'expression régulière
    Par Pymm dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 11/10/2005, 15h04
  4. [RegEx] Petit Bug sur Expression Régulière
    Par Delphy113 dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2005, 20h48
  5. Problème d'expression régulière
    Par Neitsa dans le forum Général Python
    Réponses: 3
    Dernier message: 11/08/2005, 14h29

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