After that, it tries to parse out a date using a bunch of different date formats in serial. So if your string matches the regular expression used by parse_ddd at the end, the parsing is a lot slower than if matches the expression used by parse_eu at the top.
Almost all of the regular expressions used are not bounded to the beginning or end of the string, so it'll scan the entire string at every step looking for a match.
There's actually more stuff after this, including a couple more regular expressions, but it's not the most interesting code, so we should probably stop here...