Вы можете использовать
"^(?:,*[0-9]){0,10}(?:\.[0-9]{0,2})?$"
Или, если после дробной части .
должна быть цифра в дробной части, используйте
"^(?:,*[0-9]){0,10}(?:\.[0-9]{1,2})?$"
См. Демоверсию regex . Часть (?:,*[0-9]){0,10}
- это то, что выполняет задание: она соответствует любым 0+ ,
символам, за которыми следует одна цифра от 0 до 10 раз. Если ,
также может отображаться до .
, добавьте ,*
после ((?:,*[0-9]){0,10})?
.
Детали
^
- начало строки
(?:,*[0-9]){0,10}
- от 0 до 10 вхождений 0+ запятых, сопровождаемых цифрой
(?:\.[0-9]{0,2})?
- необязательная последовательность:
\.
- период
[0-9]{0,2}
- от 0 до 2 цифр (если после * 1036 должна быть цифра *, используйте [0-9]{1,2}
)
$
- конец строки.