Group host(?P<host>[0-9]+(?:\.[0-9]+){3}) +matches at least one character from the set below:
0-9one character from 0 (4810) to 9 (5710)
Non-Capturing Group(?:\.[0-9]+){3} {3}repeats the group contents below exactly 3 times:
\.the literal . (4610 / 568 / 2E16)
+matches at least one character from the set below:
0-9one character from 0 (4810) to 9 (5710)
\s+a Unicode whitespace character, repeated at least once
-the literal - (4510 / 558 / 2D16)
\s+a Unicode whitespace character, repeated at least once
Group user_name(?P<user_name>\S+) \S+any character that is not Unicode whitespace, repeated at least once
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