/^(0[1-9]|[1-2]\d|3[0-1])-(0[1-9]{1}|[1-2]\d|3[0-1])-(200[7-9]|2[1-9]\d{2})$/

è corretta? Ho fatto qualche prova, e mi pare di si..

Giorno-Mese-Anno

01,02,03...31 - 01,02...12 - 2007,2008,2009