I used a similar initial approach but separate out each regex output in a separate tool. I was also a little more catch all. Anyway review the solution certain brought up my knowledge of regex up a notch.
Not sure I understood the need to parse out the different date components. I just put in a formula and DateTimeParsed with a if statement to change the parameter appropriate for each category.