The exponent `[0-9]*` part—should it be `[0-9_]*`?

Also I think this will be tightening what is accepted; at present, for example, `1.` is acceptable (but not `1.f32` for clear reasons), but this change will break that. Is that deliberate? Desirable? &c.