^[1-9]\d(?:,[1-9]\d){0,2}$
Первая часть ([1-9]\d
) - это просто первое число, которое должно присутствовать всегда. Он состоит из ненулевой цифры и произвольной второй цифры (\d
).
Далее следует группа без захвата ((?:...)
), содержащая запятую, за которой следует еще одно двузначное число (,[1-9]\d
), аналогичное первому. Эта группа может повторяться от нуля до двух раз ({0,2}
), поэтому вы получаете либо нет, либо одну, либо две последовательности запятой и другого числа.
Вы можете легко развернуть деталь в фигурных скобках, чтобы получить больше разрешенных чисел.