Java正则表达式匹配不包含0%和100%的百分数
可以使用以下正则表达式来匹配不包含0%和100%的百分数:
^([1-9]|[1-9]\d|\d\.\d{1,2}|[1-9]\d\.\d{1,2})%$
这个正则表达式的含义是:
^表示匹配字符串的开头([1-9]|[1-9]\d|\d\.\d{1,2}|[1-9]\d\.\d{1,2})表示匹配百分数,具体解释如下:[1-9]匹配1-9之间的任意一个数字[1-9]\d匹配10-99之间的任意一个数字\d\.\d{1,2}匹配小数,例如0.1、0.23等[1-9]\d\.\d{1,2}匹配10.0-99.99之间的任意一个小数
%表示匹配百分号$表示匹配字符串的结尾
使用Java代码测试:
String regex = "^([1-9]|[1-9]\d|\d\.\d{1,2}|[1-9]\d\.\d{1,2})%$";
String[] testCases = {"0%", "50%", "99.99%", "100%", "10.1%", "0.1%", "101%", "9.123%"};
for (String testCase : testCases) {
if (testCase.matches(regex)) {
System.out.println(testCase + " 匹配成功");
} else {
System.out.println(testCase + " 匹配失败");
}
}
输出结果为:
0% 匹配失败
50% 匹配成功
99.99% 匹配成功
100% 匹配失败
10.1% 匹配成功
0.1% 匹配成功
101% 匹配失败
9.123% 匹配成功
原文地址: https://www.cveoy.top/t/topic/mwKH 著作权归作者所有。请勿转载和采集!