請實現一個函數用來判斷字符串是否表示數值(包括整數和小數)。例如,字符串"+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]+)?"); }}
新聞熱點
疑難解答