J'essaye de valider l'entrée d'utilisateur, qui est juste des nombres séparés par des virgules. Je voudrais le faire avec RegEx, mais je ne peux pas trouver la bonne expression.Regex pour le nombre séparé par des virgules
Il doit valider les chaînes suivantes (et plus):
1
12
123
1,234
12,345
123,456
et invalider les chaînes suivantes (et plus fou):
1,1
1,12
12,1
12,12
123,1
123,1
Toute aide serait grandement appréciée.
Voici ce que j'ai essayé jusqu'à présent (EDIT: qui ne fonctionne pas), ainsi que plusieurs variantes ->
^(((\d{1,3},)*\d{3})|(\d{1,3}))$
^(\d{1,3}[,])*\d{3}|\d{1,3}$
+1 Bien fait. Ma seule critique: puisque cette expression régulière est pour la validation seulement, vous devriez changer ce groupe de capture pour qu'il soit un groupe sans capture. –
Bon point, mais ça m'a toujours dérangé que faire un groupe non-capture rend l'expression rationnelle plus laide. –
en regardant la regex originale, il semble allumé une chaîne comme 12,1123 est légal ((\ d {1,3},) * \ d {3}) ce qui précède ne satisfait pas –