java 正则表达式 int long float double 完整示例,包括最大值和最小值的限制
时间: 2023-11-25 07:04:51 浏览: 149
下面是 Java 中针对 int、long、float、double 类型的正则表达式示例,包括最大值和最小值的限制:
1. int 类型:
```
// 最大值为 2147483647,最小值为 -2147483648
String regex = "^(-?[1-9]\\d{0,8}|0)$";
```
解释:
- "^" 表示字符串的开始,"$" 表示字符串的结束;
- "-?" 表示可选的负号,"?" 表示前面的字符出现 0 次或 1 次;
- "[1-9]" 表示第一位不能为 0,"\d{0,8}" 表示后面最多有 8 位数字;
- "|0" 表示允许为 0。
2. long 类型:
```
// 最大值为 9223372036854775807L,最小值为 -9223372036854775808L
String regex = "^(-?[1-9]\\d{0,18}|0)$";
```
解释:
- "^" 和 "$" 同上;
- "-?" 同上;
- "[1-9]" 和 "\d{0,18}" 表示 19 位数字;
- "|0" 表示允许为 0。
3. float 类型:
```
// 最大值为 3.4028235E38f,最小值为 -3.4028235E38f
String regex = "^(-?\\d{1,7}(\\.\\d{1,7})?|[1-3]\\.\\d{1,7}E[1-3]\\d{1,2}f)$";
```
解释:
- "^" 和 "$" 同上;
- "-?" 同上;
- "\\d{1,7}" 表示整数部分最多有 7 位数字,"(\\.\\d{1,7})?" 表示小数部分最多有 7 位数字,"?" 表示前面的字符出现 0 次或 1 次;
- "|[1-3]\\.\\d{1,7}E[1-3]\\d{1,2}f" 表示科学计数法的表示方式,其中 "[1-3]" 表示指数的范围为 1 到 3,"\\d{1,2}" 表示指数部分最多有 2 位数字。
4. double 类型:
```
// 最大值为 1.7976931348623157E308,最小值为 -1.7976931348623157E308
String regex = "^(-?\\d{1,15}(\\.\\d{1,15})?|[1-3]\\.\\d{1,15}E[1-3]\\d{1,2})$";
```
解释:
- "^" 和 "$" 同上;
- "-?" 同上;
- "\\d{1,15}" 表示整数部分最多有 15 位数字,"(\\.\\d{1,15})?" 表示小数部分最多有 15 位数字,"?" 表示前面的字符出现 0 次或 1 次;
- "|[1-3]\\.\\d{1,15}E[1-3]\\d{1,2}" 表示科学计数法的表示方式,其中 "[1-3]" 表示指数的范围为 1 到 3,"\\d{1,2}" 表示指数部分最多有 2 位数字。
阅读全文