Regex для десятичного числа

Используйте /^-?\d+(?:\.\d+)?$/, чтобы проверить, что вся строка является корректным десятичным числом. Каждый пример ниже проверен по этому шаблону, а открыть его в Regex Tester можно с уже загруженными образцами.

Обновлено

ВводРезультат
42✓ Совпадение
-3.14✓ Совпадение
0.5✓ Совпадение
.5✗ Нет совпадения
1.✗ Нет совпадения
1,000✗ Нет совпадения
abc✗ Нет совпадения
+1✗ Нет совпадения

Как работает шаблон

ЧастьЗначение
-?Необязательный знак минус
\d+Целая часть
(?:\.\d+)?Необязательная точка и десятичные цифры

Примеры кода

JavaScript

const re = /^-?\d+(?:\.\d+)?$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'-?\d+(?:\.\d+)?', value))

PHP

preg_match('/^-?\d+(?:\.\d+)?$/', $value) === 1;

Примечания и ограничения

Чтобы разрешить .5, измените в целой части \d+ на \d* (и убедитесь, что строка не пустая).

Часто задаваемые вопросы

Какое регулярное выражение для десятичного числа?
/^-?\d+(?:\.\d+)?$/ — шаблон проверяет всю строку целиком. Назначение каждой части описано в таблице выше.
Какие примеры подходят?
Из проверенных примеров подходят: 42, -3.14, 0.5. Остальные — нет.
Как проверить это регулярное выражение?
Нажмите «Открыть в Regex Tester» — шаблон, флаги и примеры текста загрузятся автоматически, а совпадения будут подсвечиваться по мере редактирования.