Cómo funciona el patrón
| Parte | Significado |
|---|---|
\d{4}-\d{2}-\d{2} | La fecha |
T | El separador T literal |
\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)? | Horas y minutos, con segundos y fracciones opcionales |
(?:Z|[+-]\d{2}:\d{2}) | Z para UTC, o un desfase como +05:30 |
Ejemplos 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;
Notas y limitaciones
Esto exige una zona horaria, lo que evita marcas de tiempo ambiguas. new Date().toISOString() en JavaScript siempre produce una cadena que coincide. Convierte marcas de tiempo con el Conversor de Unix Timestamp.
Probador de expresiones regulares
Escribe un patrón y observa cómo se resaltan las coincidencias en tiempo real en tu texto de prueba.