^start of line
Group 1((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0) 1st Alternative(\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)? Group 2(\+|00(\s|\s?\-\s?)?) \+the literal + (4310 / 538 / 2B16)
2nd Alternative00(\s|\s?\-\s?)? ?repeats the group contents below at most once:
\sany whitespace character
\s?optionally matches any whitespace character
\-the literal - (4510 / 558 / 2D16)
\s?optionally matches any whitespace character
?repeats the group contents below at most once:
\sany whitespace character
\s?optionally matches any whitespace character
\-the literal - (4510 / 558 / 2D16)
\s?optionally matches any whitespace character
?repeats the group contents below at most once:
\(the literal ( (4010 / 508 / 2816)
0the literal 0 (4810 / 608 / 3016)
\)the literal ) (4110 / 518 / 2916)
?matches at most one character from the set below:
\-the literal - (4510 / 558 / 2D16)
\sany whitespace character
0the literal 0 (4810 / 608 / 3016)
0-9one character from 0 (4810) to 9 (5710)
Group 6((\s|\s?\-\s?)?[0-9]) ?repeats the group contents below at most once:
\sany whitespace character
\s?optionally matches any whitespace character
\-the literal - (4510 / 558 / 2D16)
\s?optionally matches any whitespace character
0-9one character from 0 (4810) to 9 (5710)
Group 8((\s|\s?-\s?)?[0-9]) ?repeats the group contents below at most once:
\sany whitespace character
\s?optionally matches any whitespace character
-the literal - (4510 / 558 / 2D16)
\s?optionally matches any whitespace character
0-9one character from 0 (4810) to 9 (5710)
Group 10((\s|\s?-\s?)?[0-9]) \s?optionally matches any whitespace character
\s?optionally matches any whitespace character
\s?optionally matches any whitespace character
\s?optionally matches any whitespace character
\s?optionally matches any whitespace character
$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