@@ 29,16 29,16 @@ syn region hareString start=+`+ end=+`+ contains=hareEscapeRaw
"adapted from c.vim
"integer number, or floating point number without a dot and with "f".
syn match hareNumbers display transparent "\v<\d" contains=hareNumber,hareOctal,hareBinary,hareFloat
-syn match hareNumber display contained "\v\d+(e[-+]?\d+)?(z|[iu](8|16|32|64)?)?"
+syn match hareNumber display contained "\v\d+([Ee][-+]?\d+)?(z|[iu](8|16|32|64)?)?"
"hex number
syn match hareNumber display contained "\v0x\x+(z|[iu](8|16|32|64)?)?"
"octal number
syn match hareOctal display contained "\v0o\o+(z|[iu](8|16|32|64)?)?"
"binary number
syn match hareBinary display contained '\v0b[01]+(z|[iu](8|16|32|64)?)?'
-syn match hareFloat display contained "\v\d+(e[-+]?\d+)?(f32|f64)"
+syn match hareFloat display contained "\v\d+([Ee][-+]?\d+)?(f32|f64)"
"floating point number, with dot, optional exponent
-syn match hareFloat display contained "\v\d+\.\d+(e[-+]?\d+)?(f32|f64)?"
+syn match hareFloat display contained "\v\d+\.\d+([Ee][-+]?\d+)?(f32|f64)?"
syn match hareSpaceError display excludenl "\v\s+$"
syn match hareSpaceError display "\v +\t"me=e-1