我有TextField
,其输入应限制在1.00和5.00之间。
我尝试了"\\d+\\.\\d+"
,[0-9]{1,5}(\.[0-9]+)?
,但两者都没有效果,这是可以理解的。
感谢。
答案 0 :(得分:3)
正如评论中所述,有一些输入字段类型可以帮您检查。但是,回答你的文字问题,可以使用:
^([1-4]\.[0-9]{2})|(5\.00)$
您需要特别处理该范围的5.00端。
答案 1 :(得分:2)
如果您需要精确的2位精度加倍,可以使用
^[1-5]{1}\.[0-9]{2}$
答案 2 :(得分:1)
^[1-4](\\.\\d{1,2})?|5(\\.0{1,2})?$
答案 3 :(得分:0)
这将验证1.00到5.00到两位小数。
^([1-4]\\.[0-9]{2})$|(5\\.00)$
实施例
// String to be scanned to find the pattern.
String line = "1.00";
String pattern = "^([1-4]\\.[0-9]{2})$|(5\\.00)$";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now create matcher object.
Matcher m = r.matcher(line);
if (m.find( )) {
System.out.println("Found value: " + m.group(0) );
}else {
System.out.println("NO MATCH: " + line);
}
line = "5.0000";
m = r.matcher(line);
if (m.find( )) {
System.out.println("Found value: " + m.group(0) );
}else {
System.out.println("NO MATCH: " + line);
}