(?m)applies the following effective flags to the remainder of the pattern: gm m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string
^start of line
{9}matches exactly 9 characters from the set below:
0-9one character from 0 (4810) to 9 (5710)
\s+any whitespace character, repeated at least once
Group 2(E[0-9]+(?: [0-9]+)?) Ethe literal E (6910 / 1058 / 4516) (case sensitive)
+matches at least one character from the set below:
0-9one character from 0 (4810) to 9 (5710)
Non-Capturing Group(?: [0-9]+)? ?repeats the group contents below at most once:
the literal (3210 / 408 / 2016)
+matches at least one character from the set below:
0-9one character from 0 (4810) to 9 (5710)
\s*any whitespace character, repeated any number of times
-the literal - (4510 / 558 / 2D16)
\s*any whitespace character, repeated any number of times
Group 3([^-\n]+(?:-[^-\n]+)*?) Negated Character Class[^-\n]+ +matches at least one character outside the set below:
-the literal - (4510 / 558 / 2D16)
\na line-feed (newline) character (ASCII 10)
Non-Capturing Group(?:-[^-\n]+)*? *?repeats the group contents below any number of times:
-the literal - (4510 / 558 / 2D16)
Negated Character Class[^-\n]+ +matches at least one character outside the set below:
-the literal - (4510 / 558 / 2D16)
\na line-feed (newline) character (ASCII 10)
Atomic Group(?>-([0-9]+\.[0-9]{1,2}))? ?repeats the group contents below at most once:
-the literal - (4510 / 558 / 2D16)
Group 4([0-9]+\.[0-9]{1,2}) +matches at least one character from the set below:
0-9one character from 0 (4810) to 9 (5710)
\.the literal . (4610 / 568 / 2E16)
Character Class[0-9]{1,2} {1,2}matches between 1 and 2 characters from the set below:
0-9one character from 0 (4810) to 9 (5710)
$end of line
g modifier: global. Finds all matches instead of stopping after the first