剑指offer 表示数值的字符串
表示数值的字符串
http://www.nowcoder.com/questionTerminal/6f8c901d091949a5837e24bb82a731f2
正则表达式容易疏忽的地方:
1.底数不为空。如e8不是数字。
2.数字整数部分小数部分不能同时为空。如.不是数字。
现在个人觉得最完善的正则:
public class Solution { public boolean isNumeric(char[] str) { String s=String.valueOf(str); return s.matches("[\\+\\-]?(\\d*\\.\\d+|\\d+\\.?)([eE][\\+\\-]?\\d+)?"); } }
参考了讨论里Framee大佬还有其他很多大佬的回答。