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 :

separation numero et signe avec une regexp


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut separation numero et signe avec une regexp
    bonjour a tous,
    voila j'ai une variables qui contient des valeurs du type :

    12.5G
    45B
    75.02MB
    8T

    pour faire ma conversion en giga j'utilise en regexpr pour faire ma separation avant le calcul mais des fois j'ai des trucs zarbi alors j'ai fait un test dont le resultat est le suivant :

    bash-3.00# /usr/local/bin/perl -e 'my $value="12MB"; if($value=~/([0-9]+.+[0-9]+)(.*)/){print $1."\n"; }else{ print "0\n";}'
    0
    bash-3.00# /usr/local/bin/perl -e 'my $value="1MB"; if($value=~/([0-9]+.+[0-9]+)(.*)/){print $1."\n"; }else{ print "0\n";}'
    0
    bash-3.00# /usr/local/bin/perl -e 'my $value="122MB"; if($value=~/([0-9]+.+[0-9]+)(.*)/){print $1."\n"; }else{ print "0\n";}'
    122
    bash-3.00# /usr/local/bin/perl -e 'my $value="22MB"; if($value=~/([0-9]+.+[0-9]+)(.*)/){print $1."\n"; }else{ print "0\n";}'
    0
    bash-3.00# /usr/local/bin/perl -e 'my $value="22.MB"; if($value=~/([0-9]+.+[0-9]+)(.*)/){print $1."\n"; }else{ print "0\n";}'
    0
    bash-3.00# /usr/local/bin/perl -e 'my $value="22.5MB"; if($value=~/([0-9]+.+[0-9]+)(.*)/){print $1."\n"; }else{ print "0\n";}'
    22.5
    bash-3.00# /usr/local/bin/perl -e 'my $value="22MB"; if($value=~/([0-9]+.+[0-9]+)(.*)/){print $1."\n"; }else{ print "0\n";}'
    0
    bash-3.00# /usr/local/bin/perl -e 'my $value="22M"; if($value=~/([0-9]+.+[0-9]+)(.*)/){print $1."\n"; }else{ print "0\n";}'
    0
    bash-3.00# /usr/local/bin/perl -e 'my $value="22MB"; if($value=~/([0-9]+.+[0-9]+)(.*)/){print $1."\n"; }else{ print "0\n";}'
    0
    bash-3.00# /usr/local/bin/perl -e 'my $value="22MB"; if($value=~/([0-9]+.+[0-9]+)(.*)/){print $1."\n"; }else{ print "0\n";}'
    normalement a chaque fois je dois avoir le numero au lieu de zero mais ce n'est pas le cas tout le temps !!!!!

    merci de votre aide

  2. #2
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Ton expression régulière est incorrecte. Elle s'attend à voir un ou plusieurs chiffres suivis d'un ou plusieurs caractères quelconque. suivis de un ou plusieurs chiffres suivis d'aucun, un ou plusieurs caractères quelconques. Essaye ceci:


  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut
    merci ca marche maintenent,
    oui c'est le . qui ne vas pas

    merci en tout cas pour ton aide GnuVince

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

Discussions similaires

  1. Petit problème avec une regexp
    Par Beleg dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 25/02/2008, 17h46
  2. Problème de performance avec une regexp
    Par NicoV dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 21/02/2008, 18h46
  3. Galère avec une regexp
    Par Jjeje007 dans le forum Langage
    Réponses: 4
    Dernier message: 24/07/2007, 19h51
  4. [RegEx] Filtrer une requête avec une regexp
    Par _kal_ dans le forum Langage
    Réponses: 2
    Dernier message: 28/04/2007, 12h05
  5. [RegEx] [RegExp] Problème avec une REGEXP
    Par alex.hitman dans le forum Langage
    Réponses: 2
    Dernier message: 21/03/2006, 20h11

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