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:

  1. put the entire thing in parenthesis and end with a '?' so as to match the empty string.
  2. Always start with an integer, so '\d+'. That is 1 or more digit characters ('0'-'9')
  3. 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

Tags:

Csv

Regex