Подтвердить что ты не робот

Регулярное выражение для нахождения десятичных/плавающих чисел?

Мне нужно регулярное выражение для чисел с десятичной запятой, например 12 12.2 1236.32 123.333 и +12.00 или -12.00 или... 123.123... для использования в javascript и jQuery. Спасибо.

4b9b3361

Ответ 1

Опционально соответствует + или - в начале, за которым следует одна или несколько десятичных цифр, необязательная, а затем десятичная точка, а одна или несколько десятичных цифр используют конец строки:

/^[+-]?\d+(\.\d+)?$/

RegexPal

Ответ 2

Правильное выражение должно быть следующим:

[+-]?([0-9]*[.])?[0-9]+

это применимо для:

+1
+1.
+.1
+0.1
1
1.
.1
0.1

Вот пример Python:

import re
#print if found
print(bool(re.search(r'[+-]?([0-9]*[.])?[0-9]+', '1.0')))
#print result
print(re.search(r'[+-]?([0-9]*[.])?[0-9]+', '1.0').group(0))

Вывод:

True
1.0

Если вы используете mac, вы можете проверить в командной строке:

python -c "import re; print(bool(re.search(r'[+-]?([0-9]*[.])?[0-9]+', '1.0')))"

python -c "import re; print(re.search(r'[+-]?([0-9]*[.])?[0-9]+', '1.0').group(0))"