Java 正则表达式匹配百分比:排除 0% 和 100%

本文介绍如何使用 Java 正则表达式匹配百分比,并排除 0% 和 100% 的情况,同时支持两位小数。

正则表达式调整

可以将正则表达式修改为: (0|[1-9]?\d(\.\d{1,2})?)%

其中,(0|[1-9]?\d(\.\d{1,2})?) 表示数字部分可以为 0 或者 1-99,可以有最多两位小数。

Java 代码测试

public static void main(String[] args) {
    String regex = "(0|[1-9]?\d(\.\d{1,2})?)%";
    String[] testCases = {"0%", "0.00%", "0.01%", "99%", "99.99%", "100%", "100.00%"};
    for (String testcase : testCases) {
        System.out.println(testcase + " -> " + Pattern.matches(regex, testcase));
    }
}

输出结果:

0% -> false
0.00% -> false
0.01% -> true
99% -> true
99.99% -> true
100% -> false
100.00% -> false

注意:

  • 正则表达式中的 \d 代表数字 0-9。
  • \. 代表小数点。
  • ? 代表前面的字符可以出现 0 或 1 次。
  • * 代表前面的字符可以出现 0 或 多次。
  • {1,2} 代表前面的字符可以出现 1 或 2 次。

通过以上调整,正则表达式可以匹配 0.01% 到 99.99% 之间的百分比,并排除 0% 和 100% 的情况。

Java 正则表达式匹配百分比:排除 0% 和 100%

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

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