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

Linux Discussion :

Expression reguliere pas tres claire


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 124
    Points : 52
    Points
    52
    Par défaut Expression reguliere pas tres claire
    hello !

    voilà, j'ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $SORTIE_SPAMC =~ (/(\d).(\d) points, (\d).(\d) required/ );
    qui analyse un fichier dans leque il y a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Content analysis details:   (3.1 points, 5.0 required)
    en gros.
    Le probleme, c'est que ça marche bien pour un score positif. mais parfois j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Content analysis details:   (-3.1 points, 5.0 required)
    J'arrive pas à trouver l'expression reguliere trouvant si il y a un "moins " ou rien, et si oui, le mettre dans une variable :/


    Merci de m'aider

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    376
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 376
    Points : 402
    Points
    402
    Par défaut
    et comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $SORTIE_SPAMC =~ (/(-?\d).(\d) points, (\d).(\d) required/ );
    En gros le -? veut dire : si il y a 0 ou 1 -
    Pour qu'il soit dans ta variable tu le mets dans les parentheses.
    Idem si tu as des score négatifs sur ton 2eme chiffe !

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 124
    Points : 52
    Points
    52
    Par défaut
    Mais \d ne représente qu'un chiffre non ?

    si j'ai -3.4 par exemple, j'ai peur de n'avoir que le 3 dans $1 :/

    PS, je récupere tout en perl, au fait

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    376
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 376
    Points : 402
    Points
    402
    Par défaut
    Vu comment tu as écrit ta regex, tu aura une variable avec la partie entière, et une variable avec la partie décimale.

    Si tu veux tout ton score dans la même variable tu fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $SORTIE_SPAMC =~ (/(-?\d.\d) points, (-?\d.\d) required/ );
    Et si tu est suceptible d'avoir des score à deux chiffres, tu rajoute une * après les \d ...

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 124
    Points : 52
    Points
    52
    Par défaut
    Parfait !
    C'est ce qu'il me fallait

    Merci Beaucoup

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/11/2010, 15h43
  2. singleton pas tres clair
    Par horkets dans le forum Ruby on Rails
    Réponses: 5
    Dernier message: 30/07/2009, 22h01
  3. Bugzilla : restrictions pas tres clair.
    Par manuds dans le forum Test
    Réponses: 2
    Dernier message: 06/02/2009, 11h02
  4. Réponses: 15
    Dernier message: 20/03/2007, 18h16
  5. probl avec swing, tuto pas tres clair
    Par Marc_3 dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 24/03/2006, 15h51

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