Two things about your regex spring to mind. Firstly, you want to look for
%H:%M:%S before
%H:%M because otherwise the
%H:%M test will grab all of them. Secondly, you could capture
%d%d and
%b %d at the same time by doing
(\w{3}\s*\d\d).
Cheers,
JohnGG
Update: The tests for %H:%M:%S and %H:%M could be combined, (\d\d:\d\d(?::\d\d)?).