Cómo funciona el patrón
| Parte | Significado |
|---|---|
(?:0?[1-9]|1[0-2]) | Horas 1–12, con un cero inicial opcional |
:[0-5]\d | Dos puntos y minutos 00–59 |
? | Espacio opcional |
[AaPp][Mm] | AM o PM en cualquier combinación de mayúsculas y minúsculas |
Ejemplos de código
JavaScript
const re = /^(?:0?[1-9]|1[0-2]):[0-5]\d ?[AaPp][Mm]$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?:0?[1-9]|1[0-2]):[0-5]\d ?[AaPp][Mm]', value))PHP
preg_match('/^(?:0?[1-9]|1[0-2]):[0-5]\d ?[AaPp][Mm]$/', $value) === 1;
Notas y limitaciones
En un reloj de 12 horas no existen las 0:00 ni las 13:00, así que ambas se rechazan.
Probador de expresiones regulares
Escribe un patrón y observa cómo se resaltan las coincidencias en tiempo real en tu texto de prueba.
Preguntas frecuentes
¿Cuál es la regex para la hora (12 horas con AM/PM)?
/^(?:0?[1-9]|1[0-2]):[0-5]\d ?[AaPp][Mm]$/ — 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: 9:30 AM, 12:00pm, 07:15 PM. 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.