我创建了一个执行某些计算的应用程序,它非常简单。 用户必须输入1到6之间的未知数量的浮点数,以分号分隔,小数点可以是","或者"。"。 例如:
2,3; 2.4; 3; 5.4; 3.3; 5.5; 6
那么我怎样才能在regex中提出类似的情况呢,因为现在我正在使用一种解决方法而且非常糟糕,因为它是不必要的代码。
答案 0 :(得分:4)
您可以使用以下内容:.
(示例here)。
这将尝试匹配一个数字,该数字可选地后跟一个小数部分(由,
或((([0-5]([,.]\d+)?)|(6([,.]0*)?))(;|$))+
个字符表示)。在每个数字之后,它期望找到一个半冒号或字符串的结尾。
编辑:根据你上次的评论:throws Exception
会做你想做的事情。有一个例子here。
答案 1 :(得分:1)
你可以使用这个正则表达式。它的作用是检查数字是否在1-6
范围内,然后是浮点部分,或者只是数字String input = "2,3;2.4;3;5.4;3.3;5,5;6";
System.out.println(input.matches("([0-5][,.]+\\d+(;|$)|[1-6](;|$))+\\d$);
。
<a href="test.php?hide=div2"><input type="button" name="button" value="Click Here" /></a>