Como o padrão funciona
| Parte | Significado |
|---|---|
(?:[01]\d|2[0-3]) | Horas 00–23 |
: | Dois-pontos |
[0-5]\d | Minutos 00–59 |
(?::[0-5]\d)? | Segundos opcionais |
Exemplos de código
JavaScript
const re = /^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?', value))PHP
preg_match('/^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/', $value) === 1;
Notas e limitações
Torne o zero à esquerda opcional com (?:[01]?\d|2[0-3]) se os usuários digitarem 9:30.
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 é o regex para hora (24 horas HH:MM)?
/^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/ — ele corresponde à string inteira. Veja a tabela acima para entender o que cada parte faz.
Quais exemplos correspondem?
Dos exemplos testados, estes correspondem: 00:00, 23:59, 14:30:15, 09:05. Os outros não.
Como testo este regex?
Clique em “Abrir no Testador de Regex” — o padrão, as flags e o texto de exemplo carregam automaticamente, e as correspondências são destacadas conforme você edita.