SELECT CASE
WHEN REGEXP_LIKE('20191111',
'^((((1|2|3)d{3})(0[13578]|1[02])(0[1-9]|[12]d|3[01]))|(((1|2|3)d{3})(0[469]|11)(0[1-9]|[12]d|30))|(((1|2|3)d{3})02(0[1-9]|1d|2[0-8]))|((((1|2|3)/d([13579][26]|[2468][048]|0[48]))|(1000)|(2000)|(3000))02(0[1-9]|[12]d)))$') THEN
1
ELSE
0
END
FROM DUAL;