Думаю, вы забыли добавить десятичную часть в регулярное выражение. Это должно быть примерно так:
"^ [1-9] [0-9] * (\. [0-9] +)? $"
Backsla sh (символ escapr) означает, что точка (.) буквально является точкой, потому что точка имеет некоторое значение для регулярного выражения. Парантезис состоит в том, чтобы сгруппировать часть регулярных выражений, чтобы получить ее.
Знак вопроса говорит о том, что эта группа может существовать или не существовать.
Таким образом, регулярное выражение - это последовательность символов, первая из которых 1-9, некоторые символы от 0-9 и точка & некоторые цифры, которые могут или не могут существовать.
Но обратите внимание, что точка находится в парантезе, поэтому, если она существует, должна существовать и десятичная дробь. Знак плюс говорит о том, что по крайней мере один ди git должен существовать, если точка существует