public class Solution {
    public boolean isNumeric(char[] str) {
        if(str==null){
            return false;
        }
        String string=String.valueOf(str);
        //[\\+\\-]?表示'+'或'-'可有可无
        //*零次或多次匹配前面的字符或子表达式。例如,zo* 匹配"z"和"zoo"。* 等效于 {0,}。
        //+一次或多次匹配前面的字符或子表达式。例如,"zo+"与"zo"和"zoo"匹配,但与"z"不匹配。+ 等效于 {1,}。
        //?零次或一次匹配前面的字符或子表达式。例如,"do(es)?"匹配"do"或"does"中的"do"。? 等效于 {0,1}。
        //[xyz]字符集。匹配包含的任一字符。例如,"[abc]"匹配"plain"中的"a"。
        return string.matches("([\\+\\-]?\\d*(\\.\\d+)?([eE][\\+\\-]?\\d+)?)");
    }
}