Java 正则表达式匹配百分比:排除 0% 和 100% 并支持小数

可以使用以下正则表达式匹配包含小数的百分比值,并排除 0% 和 100% 的情况:

^([1-9]\d(\.\d{1,2})?)%$

该表达式解释如下:

  • ^: 匹配字符串开头
  • ([1-9]\d(\.\d{1,2})?): 匹配一个数字,可以是 1 到 99,也可以包含小数点后两位小数
  • %: 匹配百分号
  • $: 匹配字符串结尾

使用 Java 进行测试的代码如下:

String regex = "^([1-9]\d(\.\d{1,2})?)%$";
String[] tests = {"0%", "100%", "50%", "10.5%", "2.34%"};
Pattern pattern = Pattern.compile(regex);

for (String test : tests) {
    Matcher matcher = pattern.matcher(test);
    if (matcher.matches()) {
        System.out.println(test + " is valid");
    } else {
        System.out.println(test + " is invalid");
    }    
}

输出结果:

0% is invalid
100% is invalid
50% is valid
10.5% is valid
2.34% is valid

通过测试,我们可以看到该正则表达式成功地排除了 0% 和 100%,并成功匹配了包含小数的百分比值。

Java 正则表达式匹配百分比:排除 0% 和 100% 并支持小数

原文地址: https://www.cveoy.top/t/topic/mwKF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录