La cosa che hai postato ancora richiede almeno 1 intero, in modo da non corrispondere una stringa vuota:
Ecco quello che vi serve:
^(\d+(,\d+)*)?$
analitico:
- messo l'intera cosa tra parentesi e alla fine con un
'?'
così come per abbinare la stringa vuota.
- iniziano sempre con un numero intero, così
'\d+'.
Cioè 1 o più caratteri numerici ('0'-'9')
- poi fare una serie di parentesi che contiene
',\d+'
e porre asterisco dopo.
3a. L'interno significa iniziare con un "," quindi un intero. 3b. L'asterisco significa ripetere tutto all'interno della parentesi 0 o più volte.
Hench il tutto è 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
Si noti che '[,]' è equivalente a ',' e probabilmente intendeva scrivere '([,] \ d {1,10}) * 'invece di' ([,] \ d {10}) * '. –