Make TokenNumber aware of scientific notation

Update the regex so scientific notation numbers work, e.g.:
'1 + 3.5E-8'
'1 + 3.5E8'