It looks like there are 3 problems with your regular expression:
- There is a leading space between
^
and T
of Today's
- the portions of your regular expression for matching the day and the month are in the wrong order
- The
$
and ^
midway through the expression shouldn't be there
(0[1-9]|[12][0-9]|3[01])
matches 01 to 31
and (0[1-9]|1[012])
matches 01 to 12
making the corrected pattern:
^Today's Date: (\d{2})(\:)(\d{2}) AM ET, (0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$
But as Rahul R. says in the comments, using a proper date parsing method is probably the way to go.