Я пытаюсь создать regex, которые принимают: пустая строка, единственное целое число или несколько целых чисел, разделенных запятой, но, не могут иметь никакого запуска и конечной запятой.
Мне удалось найти это, но я не могу undertsand, как удалить предел цифры
^\d{1,10}([,]\d{10})*$
То, что вы разместили, все еще требует по крайней мере 1 целое число, поэтому оно не будет соответствовать пустой строке:
Вот что вам нужно:
^(\d+(,\d+)*)?$
Объяснение:
'?'
чтобы соответствовать пустой строке. '\d+'.
То есть 1 или более цифровых символов ('0'-'9')
',\d+'
и поставьте после него звездочку. Hench все это либо пустая строка, либо начинается с целого числа, затем повторяется ноль или более раз строка, которая начинается с запятой и заканчивается целым числом
{1,10}
и {10}
- это диапазоны. Вы можете заменить их на +
для бесконечно-положительного. Например: [
^\d+([,]\d+)*$