python正则表达式匹配数大于120

时间:2018-06-06 19:49:07

标签: python regex python-2.7

我有数据

67.65 GB
99.29 GB
103.99 GB
5.11 GB
155.66 GB
etc...

我打算提出一个匹配数字大于120的正则表达式。正则表达式是好的还是我应该尝试其他方法?

3 个答案:

答案 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的情况,然后是"。"和任意数量的数字,其中至少有一个必须为非零。