Regex pour un décimal strictement positif [Résolu]

Signaler
-
 Shadowrus59 -
Bonjour à tous,

voilà, je recherche une expression régulière qui permettrait de tester qu'une chaîne de caractères représente un décimal strictement positif, et dont la valeur entière et la valeur décimale sont séparées par une virgule.
Sachant que l'on peut aussi avoir un nombre entier simple.

En gros, on doit pouvoir accepter :
1,2
0,00001
546,21165
853

Et refuser :
1.6
0
-3,6

J'ai réussi à faire une regexp qui permet de tester le nombre ainsi que la présence de la virgule :
^[0-9]+(,[0-9])?$

Par contre, je ne sais pas comment la modifier pour refuser la valeur 0 (ou 0,0, ou 0,00000).

D'avance merci de votre aide.
Céline

2 réponses

Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
15
Est-ce qu'avec ça, ça irait ?

^[0-9]*[1-9][0-9]*(,[0-9]*)?|[0-9]*(,[0-9]*[1-9][0-9]*)?$
Oui, merci beaucoup pour ton aide .

J'avais réussi à faire cette regexp là :
^(([1-9]+(,[0-9]+)?)|(0+(,[0-9]*[1-9][0-9]*)))$
mais elle présente trop de parenthèses...

Une autre solution ici :
^0*([1-9][0-9]*)$|^0*([1-9][0-9]*,[0-9]*[1-9])0*$|^0*(0,[0-9]*[1-9])0*$