^start of line
\s*any whitespace character, repeated any number of times
Non-Capturing Group(?:\+\s?7?|8) \+the literal + (4310 / 538 / 2B16)
\s?optionally matches any whitespace character
7?optionally matches the literal 7 (5510 / 678 / 3716)
8the literal 8 (5610 / 708 / 3816)
Non-Capturing Group(?:[\s\-\(\)]*) Character Class[\s\-\(\)]* *matches any number of characters from the set below:
\sany whitespace character
\-the literal - (4510 / 558 / 2D16)
\(the literal ( (4010 / 508 / 2816)
\)the literal ) (4110 / 518 / 2916)
\d{1}a digit, repeated exactly 1 time
Non-Capturing Group(?:[\s\-\(\)]*) Character Class[\s\-\(\)]* *matches any number of characters from the set below:
\sany whitespace character
\-the literal - (4510 / 558 / 2D16)
\(the literal ( (4010 / 508 / 2816)
\)the literal ) (4110 / 518 / 2916)
\d{1}a digit, repeated exactly 1 time
Non-Capturing Group(?:[\s\-\(\)]*) Character Class[\s\-\(\)]* *matches any number of characters from the set below:
\sany whitespace character
\-the literal - (4510 / 558 / 2D16)
\(the literal ( (4010 / 508 / 2816)
\)the literal ) (4110 / 518 / 2916)
\d{1}a digit, repeated exactly 1 time
Non-Capturing Group(?:[\s\-\(\)]*) Character Class[\s\-\(\)]* *matches any number of characters from the set below:
\sany whitespace character
\-the literal - (4510 / 558 / 2D16)
\(the literal ( (4010 / 508 / 2816)
\)the literal ) (4110 / 518 / 2916)
\d{1}a digit, repeated exactly 1 time
Non-Capturing Group(?:[\s\-\(\)]*) Character Class[\s\-\(\)]* *matches any number of characters from the set below:
\sany whitespace character
\-the literal - (4510 / 558 / 2D16)
\(the literal ( (4010 / 508 / 2816)
\)the literal ) (4110 / 518 / 2916)
\d{1}a digit, repeated exactly 1 time
Non-Capturing Group(?:[\s\-\(\)]*) Character Class[\s\-\(\)]* *matches any number of characters from the set below:
\sany whitespace character
\-the literal - (4510 / 558 / 2D16)
\(the literal ( (4010 / 508 / 2816)
\)the literal ) (4110 / 518 / 2916)
\d{1}a digit, repeated exactly 1 time
Non-Capturing Group(?:[\s\-\(\)]*) Character Class[\s\-\(\)]* *matches any number of characters from the set below:
\sany whitespace character
\-the literal - (4510 / 558 / 2D16)
\(the literal ( (4010 / 508 / 2816)
\)the literal ) (4110 / 518 / 2916)
\d{1}a digit, repeated exactly 1 time
Non-Capturing Group(?:[\s\-\(\)]*) Character Class[\s\-\(\)]* *matches any number of characters from the set below:
\sany whitespace character
\-the literal - (4510 / 558 / 2D16)
\(the literal ( (4010 / 508 / 2816)
\)the literal ) (4110 / 518 / 2916)
\d{1}a digit, repeated exactly 1 time
Non-Capturing Group(?:[\s\-\(\)]*) Character Class[\s\-\(\)]* *matches any number of characters from the set below:
\sany whitespace character
\-the literal - (4510 / 558 / 2D16)
\(the literal ( (4010 / 508 / 2816)
\)the literal ) (4110 / 518 / 2916)
\d{1}a digit, repeated exactly 1 time
Non-Capturing Group(?:[\s\-\(\)]*) Character Class[\s\-\(\)]* *matches any number of characters from the set below:
\sany whitespace character
\-the literal - (4510 / 558 / 2D16)
\(the literal ( (4010 / 508 / 2816)
\)the literal ) (4110 / 518 / 2916)
\d{1}a digit, repeated exactly 1 time
Non-Capturing Group(?:[\s\-\(\)]*) Character Class[\s\-\(\)]* *matches any number of characters from the set below:
\sany whitespace character
\-the literal - (4510 / 558 / 2D16)
\(the literal ( (4010 / 508 / 2816)
\)the literal ) (4110 / 518 / 2916)
$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