Java 正则表达式匹配百分比:排除 0% 和 100%,支持两位小数
可以使用如下正则表达式进行调整:/n/n^(0|[1-9]/d?(/./d{1,2})?|[1-9]/d{1}%)$ /n/n该正则表达式的含义为:/n/n- ^:匹配字符串的开始位置/n- (0|[1-9]/d?(/./d{1,2})?|[1-9]/d{1}%): 匹配 0%、1-99 之间的数字和百分数、和小数点后最多 2 位的小数和百分数/n- $:匹配字符串的结束位置/n/n使用 Java 进行测试的代码如下:/n/njava/nimport java.util.regex.*;/n/npublic class RegexTest {/n public static void main(String[] args) {/n String regex = /'^(0|[1-9]//d?(//.//d{1,2})?|[1-9]//d{1}%)$/';/n String[] inputs = {/'0%/', /'100%/', /'50%/', /'2.5%/', /'0.5/', /'1.23%/', /'105%/', /'10.1234%/'};/n Pattern pattern = Pattern.compile(regex);/n/n for (String input : inputs) {/n Matcher matcher = pattern.matcher(input);/n System.out.println(input + /' is /' + (matcher.matches() ? /'valid/' : /'invalid/'));/n }/n }/n}/n/n/n输出结果为:/n/n/n0% is invalid/n100% is invalid/n50% is valid/n2.5% is valid/n0.5 is valid/n1.23% is valid/n105% is invalid/n10.1234% is invalid/n/n/n可以看到,该正则表达式可以正确识别符合要求的输入。
原文地址: https://www.cveoy.top/t/topic/mwJH 著作权归作者所有。请勿转载和采集!