请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。
IDEA利用java的正则表达式
^[+-]?[0-9]*(//.[0-9]*)?([eE][+-]?[0-9]+)?
^ 匹配输入字符串开始的位置
[+-] 字符集,匹配包含的任一字符+或者-
? 零次或一次匹配前面的字符或子表达式
[0-9] 字符范围。匹配指定范围内的任何字符
* 零次或多次匹配前面的字符或子表达式
+ 一次或多次匹配前面的字符或子表达式
CODE
public class Solution { public boolean isNumeric(char[] str) { String s=String.valueOf(str); return s.matches("^[+-]?[0-9]*(//.[0-9]*)?([eE][+-]?[0-9]+)?"); }}
新闻热点
疑难解答