Java正则表达式匹配百分比:排除0%和100%的验证
Java正则表达式匹配百分比:排除0%和100%的验证
如何使用Java正则表达式匹配百分比,并且排除0%和100%呢?本文将提供解决方案和代码示例。
正则表达式调整
可以将正则表达式修改为:
^(?!0$|100$)([1-9]?\d(\.\d{1,2})?)%$
解释如下:
^(?!0$|100$): 使用负向先行断言,排除以“0%”或“100%”开头的字符串。([1-9]?\d(\.\d{1,2})?): 匹配1-99.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 = "101.5%";
System.out.println(input1.matches(regex)); // false
System.out.println(input2.matches(regex)); // false
System.out.println(input3.matches(regex)); // true
System.out.println(input4.matches(regex)); // true
System.out.println(input5.matches(regex)); // false
测试结果
false
false
true
true
false
从测试结果可以看出,输入为0%和100%时均返回false,输入为50%和99.99%时返回true,输入为101.5%时返回false,符合要求。
总结
通过调整正则表达式,我们可以轻松实现排除0%和100%的百分比匹配,并在Java代码中进行测试验证。这在实际开发中非常有用,例如在用户输入验证、数据处理等场景中。
原文地址: https://www.cveoy.top/t/topic/mwKo 著作权归作者所有。请勿转载和采集!