String eL= "\\d+(.\\d+)?"; Pattern p = Pattern.compile(eL); Matcher m = p.matcher(price); boolean result = m.matches(); return result;
"\\d+(.\\d+)?" 就是 模式 \d+(.\d+)? 因为是放在字符串里, 所以 \ 都写成 \\其中 \d 表示数字(也就是 '0' ~ '9'), +表示至少有一个, ?表示没有或者有一个, ()是分组用的于是这个模式表示 "一个数字后面可能接一个小数点加数字"这个模式能匹配 89 或者 89.76也就是 整数 或者 小数但是不能带正负号.