由分号分隔的浮点数的Java正则表达式

时间:2016-04-18 08:32:06

标签: java regex

我创建了一个执行某些计算的应用程序,它非常简单。 用户必须输入1到6之间的未知数量的浮点数,以分号分隔,小数点可以是","或者"。"。 例如:

  

2,3; 2.4; 3; 5.4; 3.3; 5.5; 6

那么我怎样才能在regex中提出类似的情况呢,因为现在我正在使用一种解决方法而且非常糟糕,因为它是不必要的代码。

2 个答案:

答案 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>