Expression reguliere multiples de 5

Prog1120 -  
prog1120 Messages postés 3 Statut Membre -
Bonjour,
Je sais que l'expression régulière d'un réel ou entier multiple de 5 est de la forme:
/^ [+/-] ? [\d]+ ([\.][0-9])? [05] $.
Cette expression régulière accepte les entiers ou réels multiples de 5.Mais elle accepte aussi 0 et 0.0
Je voudrais savoir comment écrire cette expression pour qu'elle n'accepte pas de valeurs nulles (0 ou 0.0)
mais accepte par exemple(0.5 ,50.0 ou 100.0).
Merci de votre aide.
Configuration: Windows Vista
Firefox 3.0.7

6 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Essaie
    /^(0\.)?(5|[1-9]\d*[05])(\.0)?$/
    0
  2. prog1120 Messages postés 3 Statut Membre
     
    Bonjour!!
    Merci d'avoir répondu à ma question !!
    Seulement cette expression régulière ne marche pas.Elle n'accepte aucun nombre valide:'5' ,'10' , '105' ,'5550' ,100.0' ,10505.0000'.
    Mais pour les nombres nuls elle fonctionne correctement.!!
    Une autre suggestion serait la bienvenue!!
    Merci d'avance
    XXXXX
    0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Il faut préciser avec quel outil. Je teste avec perl.
    perl -e '"105"=~/^(0\.)?(5|[1-9]\d*[05])(\.0*)?$/ and print "ok\n"'
    ok
    perl -e '"5550"=~/^(0\.)?(5|[1-9]\d*[05])(\.0*)?$/ and print "ok\n"'
    ok
    perl -e '"100.0"=~/^(0\.)?(5|[1-9]\d*[05])(\.0*)?$/ and print "ok\n"'
    ok
    perl -e '"10505.0000"=~/^(0\.)?(5|[1-9]\d*[05])(\.0*)?$/ and print "ok\n"'
    ok
    0
  4. prog1120 Messages postés 3 Statut Membre
     
    Merci Lami20j de répondre à mes questions!!
    J'utilise l'outil USE et voici l'expression que j'ai obtenue finalement :
    "^ [1-9]+ [0-9]* ([.][0-9]*) ? [05] $"
    Lorsque j'effectue les tests sur les chaines suivantes:'5' ,'10' , '105' ,'5550' ,100.0' ,10505.0000'.
    Toutes les autres chaines sont acceptées sauf le 5 .
    Mercii
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    [1-9]+

    Mets [1-9]* pour voir

    USE c'est quoi? Je n'ai jamais entendu.
    0
  7. prog1120 Messages postés 3 Statut Membre
     
    RE,
    Avec [1-9]* cela marche parfaitement,mais un autre probleme:l'expression accepte 0 et 010 à cause de '*':(0 ou plusieurs occurences) alors qu'il ne devrait pas accpeter de 0 ou de chaine qui commence par zero...
    Merci
    0