Регулярное выражение для проверки, является ли строка числом, включая десятичное число - PullRequest
0 голосов
/ 25 января 2019

Я хочу проверить, является ли строка числом.Допустимый диапазон чисел в моем случае сильно отличается от больших чисел с большим количеством десятичных знаков, таких как:

100000000000000000.000000000000000001
1
25.9897

Приведенные выше значения должны совпадать!

Значения, которые не должны совпадать, равны;

10,000.4
e19

Как мне подойти к этому?

1 Ответ

0 голосов
/ 25 января 2019

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

Число любой длины \d+, тогда, возможно, некоторая необязательная десятичная часть (\.\d+)?
Также важно использовать якоря линии ^ и $ для фильтрации случаев, таких как e19

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

см. На regex101

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