Java 正则表达式匹配百分比 (不含 0% 和 100%)
Java 正则表达式匹配百分比 (不含 0% 和 100%)
本文将介绍如何使用 Java 正则表达式匹配 0% 到 100% 之间的百分比,并且排除 0% 和 100% 本身,支持两位小数。
正则表达式调整
为了实现上述目标,可以修改正则表达式为:
^(?!0$|100$)([1-9]?\d(\.\d{1,2})?)$%
该正则表达式包含以下部分:
^(?!0$|100$): 负向先行断言,确保匹配的字符串不以 '0%' 或 '100%' 开头。([1-9]?\d(\.\d{1,2})?): 匹配 1 到 99 的整数或两位小数的数字。%$: 匹配 '%' 符号。
Java 代码示例
String regex = "^(?!0$|100$)([1-9]?\d(\.\d{1,2})?)$%";
String input1 = "0%";
String input2 = "100%";
String input3 = "50%";
String input4 = "99.99%";
String input5 = "100.01%";
String input6 = "-10%";
Pattern pattern = Pattern.compile(regex);
Matcher matcher1 = pattern.matcher(input1);
System.out.println(input1 + " matches: " + matcher1.matches()); // false
Matcher matcher2 = pattern.matcher(input2);
System.out.println(input2 + " matches: " + matcher2.matches()); // false
Matcher matcher3 = pattern.matcher(input3);
System.out.println(input3 + " matches: " + matcher3.matches()); // true
Matcher matcher4 = pattern.matcher(input4);
System.out.println(input4 + " matches: " + matcher4.matches()); // true
Matcher matcher5 = pattern.matcher(input5);
System.out.println(input5 + " matches: " + matcher5.matches()); // false
Matcher matcher6 = pattern.matcher(input6);
System.out.println(input6 + " matches: " + matcher6.matches()); // false
输出结果
0% matches: false
100% matches: false
50% matches: true
99.99% matches: true
100.01% matches: false
-10% matches: false
从输出结果可以看到,该正则表达式能够正确地匹配 0% 到 100% 之间的百分比,并且排除 0% 和 100% 本身,支持两位小数。
总结
本文介绍了如何使用 Java 正则表达式匹配 0% 到 100% 之间的百分比,并且排除 0% 和 100% 本身,支持两位小数。希望本文能够帮助您更好地理解和应用 Java 正则表达式。
原文地址: https://www.cveoy.top/t/topic/mwJ8 著作权归作者所有。请勿转载和采集!