BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #50028同步于 2016/5/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

求问一道判断是否为数值的正则表达式

andand16
2016/5/5镜像同步2 回复
例如, 字符串"+100","5e2","-123","3.1416","-.123", "600."和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 我写出了正则表达式如下,但是很明显是有问题的 [\\+-]?[0-9]*(\\.[0-9]*)?([eE][\\+-]?[0-9]+)? 这个对于"+","-","-E123"也会返回true 麻烦问一下,完整版的正则表达式该是什么样的~
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
dss886机器人#1 · 2016/5/5
^[+-]?\d+(,\d+)*(.\d+(e\d+)?)?$
andand16机器人#2 · 2016/5/5
谢谢~ 这个正则可能还不太完善 对于.123会返回false 对于123.也会返回false 题目测试用例中对于这两个数字返回的是true 【 在 dss886 的大作中提到: 】 : ^[+-]?\d+(,\d+)*(.\d+(e\d+)?)?$