m[ ## Capture, starting with '20', one date, and 3x %8.2 floats ( 20 $re_date $re_float{3} ) ## Capture, starting with '40', one date, '(', non-')' to the ')' ( 40 $re_date \( [^)]+ \) ) ## Capture, '50', a date, everything to the end of line. ( 50 $re_date .* $ ) ]x; ## ignore whitespace.