Expressão regular para datas sem separador dias meses anos

Expressão regular para datas sem separador. A saída para datas juntas usando a ExR retorna o seguinte resultado.

39091991 --> (39/09/1991) 10181991 --> (10/18/1991)

Use (0[1-9]|[1-2][0-9]|3[0-1])(0[1-9]|1[0-2])(199[0-9]|200[0-9]|201[0-9]|2020)

Explicando

Dias (0[1-9]|[1-2][0-9]|3[0-1]) Meses (0[1-9]|1[0-2]) Ano (199[0-9]|200[0-9]|201[0-9]|2020)

Exemplo 2:

uploads/(((([1][9][0-9][0-9])|([2][0-9][0-9][0-9]))([/])(0[123456789]|10|11|12)))

uploads/ano/mes

Outra forma válida para datas com anos bissextos. ^(?:(?:31(\/|-|.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|.)(?:0?2)\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$

Um imangem do funcionamento da expressão regular