-?optionally matches the literal - (4510 / 558 / 2D16)
\d+a digit, repeated at least once
\.?optionally matches the literal . (4610 / 568 / 2E16)
\d*a digit, repeated any number of times
g modifier: global. Finds all matches instead of stopping after the first