Reemplazos con regex: reordena texto con grupos de captura
Reordena año, mes y día sin reescribirlos y comprueba por qué una coincidencia puede ser una fecha inválida.
Para convertir 2026-10-15 en 15/10/2026, captura el año, el mes y el día por separado y luego coloca esas capturas en un orden diferente. No necesitas escribir un reemplazo nuevo para cada fecha.
Este ejemplo cambia la forma del texto. No verifica si cada fecha existe. Esa distinción importa cuando usas el resultado en una hoja de cálculo o lo publicas.
Empieza con una muestra pequeña, incluyendo una fecha inválida
Abre el Probador de expresiones regulares y pega esto en Texto de prueba:
Launch: 2026-10-15
Review: 2026-11-02
Invalid: 2026-99-99
Short: 2026-1-5
En Expresión regular, ingresa este patrón sin delimitadores de barra:
\b(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})\b
Los tres grupos nombrados capturan cuatro dígitos, dos dígitos y dos dígitos. Los límites de palabra evitan que coincida dentro de una secuencia más larga de caracteres de palabra, pero no lo convierten en un validador de calendario.
En Opciones, mantén habilitado Buscar todas las coincidencias. Eso es la bandera g. Deberías ver tres coincidencias; el mes y el día de un solo dígito en la última línea no se ajustan al patrón.
Reordena las capturas en el reemplazo
Elige Reemplazar e ingresa lo siguiente en Reemplazar con. En un teléfono, primero abre Resultados para llegar a la vista de reemplazo.
$<day>/$<month>/$<year>
La vista previa del reemplazo debería mostrar:
Launch: 15/10/2026
Review: 02/11/2026
Invalid: 99/99/2026
Short: 2026-1-5
La fecha inválida también cambió. Un patrón que solo cuenta dígitos no puede saber el número de días de un mes. Usa un analizador de fechas cuando la validez del calendario importe; usa este reemplazo cuando ya sepas que las fechas de entrada son válidas y solo necesites un formato de visualización diferente.
Deshabilitar Buscar todas las coincidencias cambia solo la primera fecha. El contador de coincidencias de la herramienta baja de tres a uno. Si un reemplazo parece detenerse después de la primera aparición, revisa esa bandera antes de reescribir el patrón.
Los grupos numerados también funcionan
Para un patrón más corto, elimina los nombres:
\b(\d{4})-(\d{2})-(\d{2})\b
Luego usa este reemplazo:
$3/$2/$1
Produce el mismo resultado para esta muestra. Los números de grupo siguen los paréntesis de captura de apertura, de izquierda a derecha. Los grupos nombrados son más fáciles de mantener si esperas editar el patrón más tarde.
El probador usa la sintaxis de reemplazo de JavaScript. En el campo de reemplazo, $1 inserta la primera captura, $<year> inserta la captura nombrada, $& inserta toda la coincidencia y $$ inserta un signo de dólar literal. La referencia de reemplazo de MDN enumera estas formas. Otros editores y motores de expresiones regulares pueden usar una notación de reemplazo diferente.
Conserva el original e inspecciona las excepciones
Descarga la entrada de muestra, la salida con todas las coincidencias y la salida solo con la primera coincidencia para compararlas. El archivo de configuración conserva el patrón y el reemplazo; las barras invertidas duplicadas en ese JSON son escapes de cadena, no barras adicionales para pegar en el campo de patrón.
El 15 de octubre de 2026, ejecutamos estos ejemplos con la misma función de evaluación que el probador. Ambos estilos de captura produjeron una salida idéntica; desactivar la bandera global cambió una coincidencia, y la fecha inválida aún coincidió. El registro de resultados incluye esas comprobaciones y los hashes de los archivos.
Para un borrador real, conserva una copia sin tocar e incluye algunas líneas que no deberían cambiar en tu prueba. Una vista previa plausible no es evidencia de que cada reemplazo sea correcto.