^start of line
\s?optionally matches any whitespace character
\+the literal + (4310 / 538 / 2B16)
\s?optionally matches any whitespace character
7the literal 7 (5510 / 678 / 3716)
8the literal 8 (5610 / 708 / 3816)
\s?optionally matches any whitespace character
?matches at most one character from the set below:
\sany whitespace character
-the literal - (4510 / 558 / 2D16)
\(?optionally matches the literal ( (4010 / 508 / 2816)
\s?optionally matches any whitespace character
\d{3,4}a digit, repeated between 3 and 4 times
\s?optionally matches any whitespace character
\)?optionally matches the literal ) (4110 / 518 / 2916)
Group 2(([-\s]){0,3}(\d{1,3})){0,} {0,}repeats the group contents below any number of times:
{0,3}repeats the group contents below between 0 and 3 times:
-the literal - (4510 / 558 / 2D16)
\sany whitespace character
\d{1,3}a digit, repeated between 1 and 3 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