^start of line
Group hostip(?<hostip>[^ ]+) Negated Character Class[^ ]+ +matches at least one character outside the set below:
the literal (3210 / 408 / 2016)
\[the literal [ (9110 / 1338 / 5B16)
Group timestamp(?<timestamp>[^ ]+\s-\d+) Negated Character Class[^ ]+ +matches at least one character outside the set below:
the literal (3210 / 408 / 2016)
\sany whitespace character
-the literal - (4510 / 558 / 2D16)
\d+a digit, repeated at least once
\]the literal ] (9310 / 1358 / 5D16)
Group method(?<method>[^ ]+) Negated Character Class[^ ]+ +matches at least one character outside the set below:
the literal (3210 / 408 / 2016)
\sany whitespace character
Group request(?<request>[^ ]+) Negated Character Class[^ ]+ +matches at least one character outside the set below:
the literal (3210 / 408 / 2016)
HTTPthe literal text HTTP (case sensitive) \/the literal / (4710 / 578 / 2F16)
\da digit
\.the literal . (4610 / 568 / 2E16)
\da digit
"the literal " (3410 / 428 / 2216)
\sany whitespace character
Group response(?<response>\d+) \d+a digit, repeated at least once
\sany whitespace character
\d+a digit, repeated at least once
$end of line
g modifier: global. Finds all matches instead of stopping after the first
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string