^1001-9dd12$ 这个正则表达式怎么调整为不包含0和100并且支持2位并用java进行测试
可以将正则表达式修改为:^(0|[1-9]?\d(\.\d{1,2})?)%$,即将100改为0,同时将首位的1改为0,表示不包含0%和100%。
Java测试代码如下:
String regex = "^(0|[1-9]?\\d(\\.\\d{1,2})?)%$";
String str1 = "0%"; // 不匹配
String str2 = "100%"; // 不匹配
String str3 = "50%"; // 匹配
String str4 = "99.99%"; // 匹配
String str5 = "9.9%"; // 匹配
String str6 = "9.99%"; // 匹配
String str7 = "9.999%"; // 不匹配
String str8 = "101%"; // 不匹配
System.out.println(str1.matches(regex)); // false
System.out.println(str2.matches(regex)); // false
System.out.println(str3.matches(regex)); // true
System.out.println(str4.matches(regex)); // true
System.out.println(str5.matches(regex)); // true
System.out.println(str6.matches(regex)); // true
System.out.println(str7.matches(regex)); // false
System.out.println(str8.matches(regex)); // false
原文地址: http://www.cveoy.top/t/topic/7SR 著作权归作者所有。请勿转载和采集!