Regex para número decimal

Usa /^-?\d+(?:\.\d+)?$/ para comprobar que una cadena completa es un número decimal válido. Cada ejemplo de abajo se ha probado con el patrón, y puedes abrirlo en el Probador de Regex con las muestras ya cargadas.

Actualizado el

EntradaResultado
42✓ Coincide
-3.14✓ Coincide
0.5✓ Coincide
.5✗ No coincide
1.✗ No coincide
1,000✗ No coincide
abc✗ No coincide
+1✗ No coincide

Cómo funciona el patrón

ParteSignificado
-?Signo menos opcional
\d+Parte entera
(?:\.\d+)?Punto y dígitos decimales opcionales

Ejemplos de código

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;

Notas y limitaciones

Permite .5 cambiando \d+ por \d* en la parte entera (y asegúrate de que la cadena no esté vacía).

Preguntas frecuentes

¿Cuál es la regex para número decimal?
/^-?\d+(?:\.\d+)?$/ — coincide con la cadena completa. Consulta la tabla de arriba para ver qué hace cada parte.
¿Qué ejemplos coinciden?
De los ejemplos probados, coinciden estos: 42, -3.14, 0.5. Los demás no.
¿Cómo pruebo esta regex?
Haz clic en “Abrir en el Probador de Regex”: el patrón, los flags y el texto de muestra se cargan automáticamente, y las coincidencias se resaltan mientras editas.