^start of line
\s*any whitespace character, repeated any number of times
Non-Capturing Group(?:\+?\d{1,3})? ?repeats the group contents below at most once:
\+?optionally matches the literal + (4310 / 538 / 2B16)
\d{1,3}a digit, repeated between 1 and 3 times
*matches any number of characters from the set below:
-the literal - (4510 / 558 / 2D16)
the literal (3210 / 408 / 2016)
(the literal ( (4010 / 508 / 2816)
\d{3}a digit, repeated exactly 3 times
Non-Capturing Group(?:[- )]*\d{3})? ?repeats the group contents below at most once:
*matches any number of characters from the set below:
-the literal - (4510 / 558 / 2D16)
the literal (3210 / 408 / 2016)
)the literal ) (4110 / 518 / 2916)
\d{3}a digit, repeated exactly 3 times
*matches any number of characters from the set below:
-the literal - (4510 / 558 / 2D16)
the literal (3210 / 408 / 2016)
\d{4}a digit, repeated exactly 4 times
Non-Capturing Group(?: *[x/#]\d+)? ?repeats the group contents below at most once:
*the literal (3210 / 408 / 2016) , repeated any number of times
xthe literal x (12010 / 1708 / 7816) (case sensitive)
/the literal / (4710 / 578 / 2F16)
#the literal # (3510 / 438 / 2316)
\d+a digit, repeated at least once
\s*any whitespace character, repeated any number of times
$end of line
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string
g modifier: global. Finds all matches instead of stopping after the first