由分隔符分隔的小数范围的Java正则表达式

时间:2013-11-18 09:15:57

标签: java regex

我有一个我要验证的输入字段。此输入用于描述范围。输入可以采用x-yx,y形式的值。 xy可以是十进制数字,如101.22-135.33或101.22,135.33。我打算使用正则表达式来检查此范围字段的有效性。有人可以提供适当的正则表达式吗?

2 个答案:

答案 0 :(得分:1)

我不确定你是否想要这个:

(\d+\.\d+)[-,](\d+\.\d+)

代码:

String n1 = "125.6,11.2".replaceAll("(\\d+\\.\\d+)[-,](\\d+\\.\\d+)","$1");
String n2 = "125.6,11.2".replaceAll("(\\d+\\.\\d+)[-,](\\d+\\.\\d+)","$2");
System.out.println(n1);
System.out.println(n2);

打印:

125.6
11.2

答案 1 :(得分:0)

你可以试试这个正则表达式:

^\\s*[=-]?\\d+(\\.\\d+)?\\s*(?:[,-]|and)\\s*[=-]?\\d+(\\.\\d+)?$

PS它不接受.50-.75但会接受:0.50-0.75