我正在尝试编写一个正则表达式,以指数表示法捕获所有数字。符号由一个数字后跟一个句点(。),后跟一个数字,后跟E或e,后跟可能的 - ,后跟一个数字。顺便说一句,我不能写出来(1-9)......我必须写出来(1,2,3,4,5,6,7,8,9)
例如
3.022E24 or 3.022e24 = 3.022 x 10^24
1.4e-22 = 1.4 x 10^-22
我认为是什么。
(0+(1+2+3+4+5+6+7+8+9)*).(0+1+2+3+4+5+6+7+8+9)*(E+e)(-+ε)(0+(1+2+3+4+5+6+7+8+9)*)
这是对的吗?我正在努力思考如何解决这个问题...我会很感激的任何提示或指示。
答案 0 :(得分:0)
(0+(1+2+3+4+5+6+7+8+9)*)
为您提供零或不包含任何零的数字。可能你想要:
(0+((1+2+3+4+5+6+7+8+9)(0+1+2+3+4+5+6+7+8+9)*))
如果您不想在逗号后面跟踪零,请使用:
(0+((0+1+2+3+4+5+6+7+8+9)*(1+2+3+4+5+6+7+8+9)))
这允许在逗号后面加零。对于没有像2.0e3这样的小数部分的数字,这似乎是你想要的解决方案。