^(?!0000)[0-9]{4}-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[1-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)|([0-9]{4})|([0-9]{4}-(0[1-9]|1[0-2]))$
我想要的效果是年月日可以是“xxxx-xx-xx”或“xxxx”或“xxxx-xx”但是最后一个“xxxx-xx”出问题了,其它两个都可以不晓得问题出在哪,求助!