在java中,匹配int
和double
的正则表达式应该是什么。
我有以下示例:
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.+")
答案 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*")