Estoy tratando de validar la entrada del usuario, que es solo números separados por comas. Me gustaría hacer esto con RegEx, pero no se me ocurre la expresión correcta.Regex para el número separado por comas
Se debe validar las siguientes cadenas (y más grande):
1
12
123
1,234
12,345
123,456
e invalidar las siguientes cadenas (y más loco):
1,1
1,12
12,1
12,12
123,1
123,1
Cualquier ayuda sería muy apreciada.
Aquí es lo que he probado hasta ahora (EDIT: que no funcionan), junto con varias variantes ->
^(((\d{1,3},)*\d{3})|(\d{1,3}))$
^(\d{1,3}[,])*\d{3}|\d{1,3}$
+1 Muy bien hecho. Mi única crítica: dado que esta expresión regular es solo para validación, debe cambiar ese grupo de captura para que sea un grupo sin captura. –
Buen punto, pero siempre me ha molestado que hacer un grupo sin captura hace que la expresión regular sea más fea. –
mirando la expresión original que parece iluminada, una cadena como 12,1,123 es legal ((\ d {1,3},) * \ d {3}) que lo anterior no satisface –