Como o padrão funciona
| Parte | Significado |
|---|---|
\d{4}-\d{2}-\d{2} | A data |
T | O separador T literal |
\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)? | Horas e minutos, com segundos e frações opcionais |
(?:Z|[+-]\d{2}:\d{2}) | Z para UTC, ou um deslocamento como +05:30 |
Exemplos de código
JavaScript
const re = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})', value))PHP
preg_match('/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/', $value) === 1;
Observações e limitações
Isso exige um fuso horário, o que evita timestamps ambíguos. new Date().toISOString() em JavaScript sempre gera uma string que corresponde ao padrão. Converta timestamps com o Conversor de Unix Timestamp.
Testador de Expressões Regulares
Digite um padrão e veja as correspondências serem destacadas em tempo real no seu texto de teste.