Expression reguliere multiples de 5

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

  • Votes
  • Date
  • Date décroissante
  1. 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
    1. Modérateur
      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
      1. 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
        1. Modérateur
          Re,

          [1-9]+

          Mets [1-9]* pour voir

          USE c'est quoi? Je n'ai jamais entendu.
          1. 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