^start of line
\(?optionally matches the literal ( (4010 / 508 / 2816)
\d{3}a digit, repeated exactly 3 times
\)?optionally matches the literal ) (4110 / 518 / 2916)
\-?optionally matches the literal - (4510 / 558 / 2D16)
\d{3}a digit, repeated exactly 3 times
\-?optionally matches the literal - (4510 / 558 / 2D16)
\d{4}a digit, repeated exactly 4 times
$end of line
g modifier: global. Finds all matches instead of stopping after the first
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string