Проверка правильности десятичного числа регулярного выражения игнорирует проверку для минуса в первом индексе строки - PullRequest
0 голосов
/ 27 марта 2019

У меня есть следующее регулярное выражение, которое проверяет десятичное число с десятичной точкой.

REGEX_VALID_DECIMAL_NUMBER = "\\d+(\\.\\d+)*";

Таким образом, следующие числа действительны согласно шаблону:

0
0.0
1.00
etc.

Проблема в том, что я хочу расширить свое регулярное выражение, чтобы оно игнорировало проверочный регистр "-" в первом индексе строки - для отрицательных чисел.

REGEX_VALID_DECIMAL_NUMBER = "[^-\\d+(\\.\\d+)*]";

Я попробовал это, добавив ^ -, но это позволит везде "-":

-0-
-0.0-
-1.00-
etc.

Как я могу добавить эту проверку для всех индексов, кроме первого индекса строки?

1 Ответ

2 голосов
/ 27 марта 2019

Вы, вероятно, должны использовать

^-?\d+(\.\d+)*$

^-? гарантирует, что отрицание будет принято только в начале.

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...