浮点数列表的正则表达式

时间:2018-06-20 00:25:20

标签: regex notepad++

我需要有关正则表达式(也许是Notepad ++)的帮助。

让我们说我有一个浮点数列表,用逗号分隔,并带有换行符

54.762523,23.765532,0.762334,12;
14.932523,13.265332,0.422334,12;
76.762831,18.655239,0.717822,13;

现在,我要删除每行的第三个浮点小于0.7的所有行。

结果列表将是:

54.762523,23.765532,0.762334,12;
76.762831,18.655239,0.717822,13;

我可以用正则表达式和Notepad ++解决吗?

如果正则表达式失败,您会怎么建议?

2 个答案:

答案 0 :(得分:2)

尝试this regex

^(\d+(\.\d+)?,){2}0?\.[0-6].*$

答案 1 :(得分:0)

尝试一下。 (是的,这适用于NP ++

全局查找(?m)^(?:(?:\d+(?:\.\d*)?|\.\d+),){2}0*\.[0-6].*\R?
替换为空

可读版本

 (?m)                          # Multi-line mode

 ^                             # BOL
 (?:                           # First 2 float + ,
      (?:
           \d+ 
           (?: \. \d* )?
        |  \. \d+ 
      )
      ,
 ){2}
 0* \. [0-6]                   # Third float less than .7
 .*                            # Rest of line
 \R?                           # Optional line break