JAVA:用于匹配`int`和`double`的正则表达式

时间:2014-06-30 06:55:26

标签: java

在java中,匹配intdouble的正则表达式应该是什么。

我有以下示例:

4 TO 6.1 4.3 TO 3.5 3 TO 5

我在下面试了一次,但是4.1 TO 6

失败了
"4.1 TO 6".trim().matches("\\d.+\\sTO\\s\\d.+")

5 个答案:

答案 0 :(得分:1)

这是您需要的正则表达式:"\\d.*\\d*\\sTO\\s*\\d.*"

答案 1 :(得分:1)

你需要这个:

\d+\.?\d*\WTO\W\d+\.?\d*

检查两边是否有一个int或十进制数,只有一个而且数字和TO之间只有一个空格。

答案 2 :(得分:0)

更一般:

[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?\\sTO\\s[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?

另见:

答案 3 :(得分:0)

试试这个:

    public static void main(String[] args) {
    String regex = "\\d*(\\.\\d*)?+\\sTO\\s\\d*(\\.\\d*)?";
    System.out.println("4 TO 6.1".trim().matches(regex));
    System.out.println("4.3 TO 3.5".trim().matches(regex));
    System.out.println("3 TO 5".trim().matches(regex));
    System.out.println("4.1 TO 6".trim().matches(regex));
}

\ d *检查第一位数字,(\。\ d *)?在检查空间TO空格和与之前相同的表达式之后检查它是否为小数。

答案 4 :(得分:0)

试试这个:

"4.1 TO 6".trim().matches("\\d+\\.{0,1}\\d*\\sTO\\s\\d+\\.{0,1}\\d*")