用正则表达式判断一个String是不是仅包含纯数字
public final static boolean isNumeric(String str){
if (str != null && !"".equals(str.trim())){
return str.matches("^[0-9]*$");
}
else{
return false;
}
}
上面代码中包含正则表达式的中包含的字符说明:
字符 | 说明 |
---|---|
^ | 匹配字符串开始的位置 |
$ | 匹配字符串结尾的位置 |
* | 零次或多次匹配前面的字符或子表达式 |
除此之外常用的字符说明
字符 | 说明 |
---|---|
? | 零次或一次匹配前面的字符或子表达式,?等效于{0,1} |
{n,m} | m和n是非负整数,其中n<=m。匹配至少n此,至多m次 |
{n} | n 是非负整数。正好匹配 n 次 |
{n,} | n 是非负整数。至少匹配 n 次,"o{1,}“等效于"o+”。"o{0,}“等效于"o*” |
* | 零次或多次匹配前面的字符或子表达式。例如,zo* 匹配"z"和"zoo"。* 等效于 {0,} |
+ | 一次或多次匹配前面的字符或子表达式。例如,"zo+"与"zo"和"zoo"匹配,但与"z"不匹配。+ 等效于 {1,} |
\d | 数字字符匹配。等效于 [0-9] |
[ ] | 字符或者数字,比如[0-9]代表匹配一个数字,[a-z]匹配"a"到"z"范围内的任何小写字母,[392]匹配包含这三个数字任意一个 |
参考了教程