digit -> /(? \d )/msx number -> /(? (?&digit)+ (?:[.](?&digit)*) | [.](?&digit)+ )/msx