Regex: Comma delimited integers
Try the following:
^(\d+(,\d+)*)?$
{1,10}
and {10}
are ranges. You can replace them with +
for infinite-positive. Eg.:
^\d+([,]\d+)*$
The thing you posted still requires at least 1 integer, so it won't match an empty string:
Here is what you need:
^(\d+(,\d+)*)?$
Explaination:
- put the entire thing in parenthesis and end with a
'?'
so as to match the empty string. - Always start with an integer, so
'\d+'.
That is 1 or more digit characters('0'-'9')
- Then make a set of parenthesis which contains
',\d+'
and put an asterisk after it.
3a. The inside means start with a ',' then an integer. 3b. The asterisk means repeat everything inside the parenthesis 0 or more times.
Hench the whole thing is either an empty string or start with an integer then repeat zero or more times a string which starts with a comma and ends with an integer