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

什么是处理浮点数的好的正则表达式(就像 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]+)?

相关文章

jquery.validate使用攻略(表单校验) 目录 jquery.validate...
/\s+/g和/\s/g的区别 正则表达式/\s+/g...
自整理几个jquery.Validate验证正则: 1. 只能输入数字和字母...
this.optional(element)的用法 this.optional(element)是jqu...
jQuery.validate 表单动态验证 实际上jQuery.validate提供了...
自定义验证之这能输入数字(包括小数 负数 ) <script ...