Alguns problemas com sua expressão:
^(\s*([0-9]|[0-9.])+\s*){60}$
- por que você tem
\s*
no começo e no final? Um deles (no final) seria suficiente -
\s*
: por que*
? Espaços em branco não são opcionais, deve haver espaço em branco entre os números (se você quiser cobrir a situação em que o último número é o final da string, você pode usar([0-9.]+\s+){59}[0-9.]+
-
([0-9]|[0-9.])
-[0-9.]
seria suficiente, salvando muitas etapas para o mecanismo de regex -
^...$
- você deseja selecionar 60 números ou apenas validar que uma string consiste em 60 números? (sua abordagem mostra o segundo).
Portanto, a expressão correta seria:
-
([0-9.]+\s+){59}[0-9.]+
, - ou incluindo espaços iniciais e finais:
\s*([0-9.]+\s+){59}[0-9.]+\s*
, - e, opcionalmente, você pode colocá-lo entre
^...$