加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 22:56:20 所属栏目:百科 来源:网络整理
导读:什么是处理浮点数的好的正则表达式(就像 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或更多位数字 允许
什么是处理浮点数的好的正则表达式(就像 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]+)?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读