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

Shadowrus59 - 15 nov. 2012 à 12:48 - Dernière réponse :  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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cs_AlexN 719 Messages postés lundi 5 décembre 2005Date d'inscription 8 janvier 2014 Dernière intervention - 23 nov. 2012 à 20:25
3
Merci
Est-ce qu'avec ça, ça irait ?

^[0-9]*[1-9][0-9]*(,[0-9]*)?|[0-9]*(,[0-9]*[1-9][0-9]*)?$

Merci cs_AlexN 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 122 internautes ce mois-ci

Commenter la réponse de cs_AlexN
Meilleure réponse
Shadowrus59 - 2 déc. 2012 à 17:00
3
Merci
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*$

Merci Shadowrus59 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 122 internautes ce mois-ci

Commenter la réponse de Shadowrus59

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.