^start of string
\s*any whitespace character, repeated any number of times
Group 1(([+]\s?\d[-\s]?\d|0)?\s?\d([-\s]?\d){9}|[(]\s?\d([-\s]?\d)+\s*[)]([-\s]?\d)+) 1st Alternative([+]\s?\d[-\s]?\d|0)?\s?\d([-\s]?\d){9} Group 2([+]\s?\d[-\s]?\d|0)? ?repeats the group contents below at most once:
1st Alternative[+]\s?\d[-\s]?\d +the literal + (4310 / 538 / 2B16)
\s?optionally matches any whitespace character
\da digit
?matches at most one character from the set below:
-the literal - (4510 / 558 / 2D16)
\sany whitespace character
\da digit
0the literal 0 (4810 / 608 / 3016)
\s?optionally matches any whitespace character
\da digit
{9}repeats the group contents below exactly 9 times:
?matches at most one character from the set below:
-the literal - (4510 / 558 / 2D16)
\sany whitespace character
\da digit
2nd Alternative[(]\s?\d([-\s]?\d)+\s*[)]([-\s]?\d)+ (the literal ( (4010 / 508 / 2816)
\s?optionally matches any whitespace character
\da digit
+repeats the group contents below at least once:
?matches at most one character from the set below:
-the literal - (4510 / 558 / 2D16)
\sany whitespace character
\da digit
\s*any whitespace character, repeated any number of times
)the literal ) (4110 / 518 / 2916)
+repeats the group contents below at least once:
?matches at most one character from the set below:
-the literal - (4510 / 558 / 2D16)
\sany whitespace character
\da digit
\s*any whitespace character, repeated any number of times
$end of string, or before its final line terminator