Regex pour un décimal strictement positif

Résolu
Shadowrus59 - 15 nov. 2012 à 12:48
 Shadowrus59 - 2 déc. 2012 à 17:00
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

cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
23 nov. 2012 à 20:25
Est-ce qu'avec ça, ça irait ?

^[0-9]*[1-9][0-9]*(,[0-9]*)?|[0-9]*(,[0-9]*[1-9][0-9]*)?$
3
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*$
3
Rejoignez-nous