Шаблон (,*\\s*[0-9]+\\s*)*
внутри регулярного выражения содержит несколько необязательных шаблонов, в то время как только [0-9]+
является обязательным, поэтому это классический (a+)+
подобный шаблон, вызывающий катастрофический возврат с несоответствующими строками.
Вы должны убедиться, что внутри количественной группы есть по крайней мере еще 1 обязательный образец, например,
@"^\s*[0-9]+(?:(?:\s*,\s*|\s+)[0-9]+)*\s*$"
Подробности
^
- начало строки \s*
- необязательные 0+ начальных пробелов [0-9]+
- 1+ цифр (?:(?:\s*,\s*|\s+)[0-9]+)*
- 0+ повторений: (?:\s*,\s*|\s+)
- либо ,
, заключенный в 0+ пробелов, либо просто 1+ пробелов [0-9]+
- 1+ цифр
\s*
- необязательные 0+ конечные пробелы $
- конец строки.