^start of line
Group hostname(?P<hostname>[\w-_]+) +matches at least one character from the set below:
\wany word character
-the literal - (4510 / 558 / 2D16)
_the literal _ (9510 / 1378 / 5F16)
\s+any whitespace character, repeated at least once
Group localInterface(?P<localInterface>[A-Za-z]+\d+(?:\/\d+)*) +matches at least one character from the set below:
A-Zone character from A (6510) to Z (9010) (case sensitive)
a-zone character from a (9710) to z (12210) (case sensitive)
\d+a digit, repeated at least once
Non-Capturing Group(?:\/\d+)* *repeats the group contents below any number of times:
\/the literal / (4710 / 578 / 2F16)
\d+a digit, repeated at least once
\s+any whitespace character, repeated at least once
Group holdTime(?P<holdTime>\d+) \d+a digit, repeated at least once
\s+any whitespace character, repeated at least once
Group capabilities(?P<capabilities>[A-Z]+) +matches at least one character from the set below:
A-Zone character from A (6510) to Z (9010) (case sensitive)
\s+any whitespace character, repeated at least once
Group remoteInterface(?P<remoteInterface>[A-Za-z]+\d+(?:\/\d+)*) +matches at least one character from the set below:
A-Zone character from A (6510) to Z (9010) (case sensitive)
a-zone character from a (9710) to z (12210) (case sensitive)
\d+a digit, repeated at least once
Non-Capturing Group(?:\/\d+)* *repeats the group contents below any number of times:
\/the literal / (4710 / 578 / 2F16)
\d+a digit, repeated at least once
the literal (3210 / 408 / 2016)
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