CS-Notes/notes/20. 表示数值的字符串.md
2021-03-23 02:48:19 +08:00

719 B
Raw Blame History

20. 表示数值的字符串

牛客网

题目描述

true

"+100"
"5e2"
"-123"
"3.1416"
"-1E-16"
false

"12e"
"1a3.14"
"1.2.3"
"+-5"
"12e+4.3"

解题思路

使用正则表达式进行匹配。

[]   字符集合
()   分组
?    重复 0 ~ 1 次
+    重复 1 ~ n 次
*    重复 0 ~ n 次
.    任意字符
\\.  转义后的 .
\\d  数字
public boolean isNumeric (String str) {
    if (str == null || str.length() == 0)
        return false;
    return new String(str).matches("[+-]?\\d*(\\.\\d+)?([eE][+-]?\\d+)?");
}