正则表达式 – 如何使用正则表达式检测浮点数

前端之家收集整理的这篇文章主要介绍了正则表达式 – 如何使用正则表达式检测浮点数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
什么是处理浮点数的好的正则表达式(就像 Java的浮点数)

答案必须符合以下目标:

1) 1.  
 2) .2   
 3) 3.14  
 4) 5e6  
 5) 5e-6  
 6) 5E+6  
 7) 7.e8  
 8) 9.0E-10  
 9) .11e12

总之,应该

>忽略前面的标志
>要求小数点左边的第一个字符不为零
>允许小数点两边的0或更多位数字
>允许没有小数点的数字
>允许科学符号
允许资本或小写字母’e’
>允许正数或负数指数

对于那些想知道的人,是的,这是一个家庭作业的问题.我们在我的毕业生CS课程中收到了作为编译器的作业.我已经把课程的答案转过来了,并将其作为这个问题的答案.

[结语]
我的解决方案没有得到完整的信用,因为它没有处理小数点左边的多个1位数字.尽管没有一个示例在十进制左边的位置不超过1位,但是这个赋值确实提到处理Java浮点数.我会在自己的帖子中发布接受的答案.

只需使小数点和E指数指数部分可选:
[1-9][0-9]*\.?[0-9]*([Ee][+-]?[0-9]+)?

我不明白你为什么不想领导[ – ]?捕捉可能的标志,但是,无论如何! – )

编辑:实际上可能没有小数点左边的数字(在这种情况下,我想象必须有小数点和1位数字后)!所以显然需要一个垂直条(替代):

(([1-9][0-9]*\.?[0-9]*)|(\.[0-9]+))([Ee][+-]?[0-9]+)?

猜你在找的正则表达式相关文章