我有数据
67.65 GB
99.29 GB
103.99 GB
5.11 GB
155.66 GB
etc...
我打算提出一个匹配数字大于120的正则表达式。正则表达式是好的还是我应该尝试其他方法?
答案 0 :(得分:3)
不要使用正则表达式。拆分字符串,将0索引转换为浮点数,并将其与120进行比较。
答案 1 :(得分:0)
实际上你需要做的是分割字符串,将第一部分转换为浮动并与120比较:
String time1 = "09:11:30";
String time2 = "09:15:22";
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
Date date1 = format.parse(time1);
Date date2 = format.parse(time2);
long difference = date2.getTime() - date1.getTime();
long difInMinute = (difference/1000)/60;
System.out.println(difInMinute+" min passed");
Regex专为模式匹配而设计,不适用于算术。
答案 2 :(得分:0)
这适用于小数位右边至少有一位数字的数字:
^((12[1-9]|[2-9]\d\d|[1-9]\d\d\d+)\.\d+|120\.\d*[1-9]\d*)$
说明: 第一组,第一轮交替:121-129
第二次交替:200-999
第三次交替:1000 +
其中每一个都跟着"。"和右边的任意数字
第二组涵盖整数部分正好为120的情况,然后是"。"和任意数量的数字,其中至少有一个必须为非零。