Las expresiones regulares son patrones, en este caso tu String debe ser DD/MM/YYYY y partir de eso, tu expresion debiese ser construida con ese patron, cosa que deba coincidir con tal, y luego aplicar el match para comparar el patron con tu string. Te dejo un ejemplo:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public static void main(String[] args) throws Exception {
System.out.print("Ingrese fecha => ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//Obtengo la fecha ingresada.
String fechaIngresada = br.readLine();
//Genero el patron/expresion regualr
Pattern expresionRegular = Pattern.compile("(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\\d\\d");
//comparo la expresion con la fecha
Matcher m = expresionRegular.matcher(fechaIngresada);
if ( m.find() ){ //si es true, pasó la validación.
System.out.println("Fecha correcta ;)");
}
else{
System.out.println("Fecha incorrecta :(");
}
}
Suerte! PS: Esa expresión no valida la cantidad de dias de cada mes ni años bisiestos, si necesitas tbn validar eso, revisa el link que postie antes y ahi hay una mas completa ;)