Date Regex - Combine AAAA-MM-DD com grupos
Depure expressões regulares JavaScript ao vivo: correspondências destacadas, grupos de captura, sinalizadores e visualização de substituição.
Resultado
Esta página pré-carrega um padrão para datas ISO 8601: (?<ano>\d{4})-(?<mês>0[1-9]|1[0-2])-(?<dia>0[1-9]|[12]\d|3[01]). Em vez de aceitar quaisquer dígitos, o grupo de meses permite apenas 01–12 e o grupo de dias 01–31 — o texto de exemplo demonstra isso com 2026-13-01 e 2026-00-10, que permanecem sem correspondência.
Os três grupos nomeados são a recompensa prática: na lista de correspondências abaixo do texto você vê ano, mês e dia extraídos separadamente para cada data encontrada. No código, os mesmos grupos permitem escrever result.groups.year em vez de contar parênteses - e no campo de substituição aqui você pode reordenar uma data como $<dia>.$<mês>.$<ano> para converter datas ISO em notação europeia de uma só vez.
Uma regex não pode saber que fevereiro tem 28 dias – 31/02/2026 ainda corresponderá. Isso é normal: a função do padrão é encontrar strings em formato de data e dividi-las em partes; a validação final do calendário pertence ao seu código. Cole seus próprios logs ou exportações CSV e veja como o padrão se comporta em dados reais.