Como o padrão funciona
| Parte | Significado |
|---|---|
-? | Sinal de menos opcional |
\d+ | Parte inteira |
(?:\.\d+)? | Ponto e dígitos decimais opcionais |
Exemplos de código
JavaScript
const re = /^-?\d+(?:\.\d+)?$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'-?\d+(?:\.\d+)?', value))PHP
preg_match('/^-?\d+(?:\.\d+)?$/', $value) === 1;
Observações e limitações
Para permitir .5, altere \d+ para \d* na parte inteira (e certifique-se de que a string não esteja vazia).
Testador de Expressões Regulares
Digite um padrão e veja as correspondências serem destacadas em tempo real no seu texto de teste.
Perguntas frequentes
Qual é a regex para número decimal?
/^-?\d+(?:\.\d+)?$/ — ela corresponde à string inteira. Veja a tabela acima para entender o que cada parte faz.
Quais exemplos correspondem?
Entre os exemplos testados, estes correspondem: 42, -3.14, 0.5. Os outros não.
Como testo essa regex?
Clique em “Abrir no Testador de Regex” — o padrão, as flags e o texto de exemplo são carregados automaticamente, e as correspondências são destacadas conforme você edita.