^start of string
\(the literal ( (4010 / 508 / 2816)
*matches any number of characters from the set below:
+the literal + (4310 / 538 / 2B16)
|the literal | (12410 / 1748 / 7C16)
-the literal - (4510 / 558 / 2D16)
Group 1((90|[1-8][0-9]|[0-9])|(([1-8][0-9]|[0-9])\.\d+)|90\.[0]+) 1st Alternative(90|[1-8][0-9]|[0-9]) Group 2(90|[1-8][0-9]|[0-9]) 2nd Alternative[1-8][0-9] 1-8one character from 1 (4910) to 8 (5610)
0-9one character from 0 (4810) to 9 (5710)
0-9one character from 0 (4810) to 9 (5710)
2nd Alternative(([1-8][0-9]|[0-9])\.\d+) Group 3(([1-8][0-9]|[0-9])\.\d+) Group 4([1-8][0-9]|[0-9]) 1st Alternative[1-8][0-9] 1-8one character from 1 (4910) to 8 (5610)
0-9one character from 0 (4810) to 9 (5710)
0-9one character from 0 (4810) to 9 (5710)
\.the literal . (4610 / 568 / 2E16)
\d+a digit, repeated at least once
\.the literal . (4610 / 568 / 2E16)
+matches at least one character from the set below:
0the literal 0 (4810 / 608 / 3016)
\,the literal , (4410 / 548 / 2C16)
\sany whitespace character
*matches any number of characters from the set below:
+the literal + (4310 / 538 / 2B16)
|the literal | (12410 / 1748 / 7C16)
-the literal - (4510 / 558 / 2D16)
Group 5((180|1[0-7][0-9]|[1-9][0-9]|[0-9])|((1[0-7][0-9]|[1-9][0-9]|[0-9])[\.]\d+)|180\.[0]+) 1st Alternative(180|1[0-7][0-9]|[1-9][0-9]|[0-9]) Group 6(180|1[0-7][0-9]|[1-9][0-9]|[0-9]) 2nd Alternative1[0-7][0-9] 3rd Alternative[1-9][0-9] 2nd Alternative((1[0-7][0-9]|[1-9][0-9]|[0-9])[\.]\d+) \)the literal ) (4110 / 518 / 2916)
$end of string, or before its final line terminator
g modifier: global. Finds all matches instead of stopping after the first