I find that the RegEx coach is a useful tool for checking RegEx.
Also try http://www.regexlib.com/
The following evaluates UK dates and takes account of leap years etc.
^(?
?: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})$