^start of string
Group 1([-+]?[1-8]?\d(?:\.\d+)?|90(?:\.0+)?) 1st Alternative[-+]?[1-8]?\d(?:\.\d+)? ?matches at most one character from the set below:
-the literal - (4510 / 558 / 2D16)
+the literal + (4310 / 538 / 2B16)
?matches at most one character from the set below:
1-8one character from 1 (4910) to 8 (5610)
\da digit
Non-Capturing Group(?:\.\d+)? ?repeats the group contents below at most once:
\.the literal . (4610 / 568 / 2E16)
\d+a digit, repeated at least once
2nd Alternative90(?:\.0+)? Non-Capturing Group(?:\.0+)? ?repeats the group contents below at most once:
\.the literal . (4610 / 568 / 2E16)
0+the literal 0 (4810 / 608 / 3016) , repeated at least once
,the literal , (4410 / 548 / 2C16)
\s*any whitespace character, repeated any number of times
Group 2([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?)) ?matches at most one character from the set below:
-the literal - (4510 / 558 / 2D16)
+the literal + (4310 / 538 / 2B16)
Non-Capturing Group(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?) 1st Alternative180(?:\.0+)? Non-Capturing Group(?:\.0+)? ?repeats the group contents below at most once:
\.the literal . (4610 / 568 / 2E16)
0+the literal 0 (4810 / 608 / 3016) , repeated at least once
2nd Alternative(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)? Non-Capturing Group(?:(?:1[0-7]\d)|(?:[1-9]?\d)) 1st Alternative(?:1[0-7]\d) Non-Capturing Group(?:1[0-7]\d) 1the literal 1 (4910 / 618 / 3116)
0-7one character from 0 (4810) to 7 (5510)
\da digit
2nd Alternative(?:[1-9]?\d) Non-Capturing Group(?:[1-9]?\d) ?matches at most one character from the set below:
1-9one character from 1 (4910) to 9 (5710)
\da digit
Non-Capturing Group(?:\.\d+)? ?repeats the group contents below at most once:
\.the literal . (4610 / 568 / 2E16)
\d+a digit, repeated at least once
$end of string, or before its final line terminator