使用VSCode正则表达式,匹配并删除多行

时间:2018-09-05 22:53:14

标签: regex visual-studio-code

我有一个庞大的文本文档(使用VS Code),看起来像这样,并以相同的模式继续运行了数千行。本质上,我们有一个整数,一个浮点数,总是以0.00开头,然后是四个空行:

468653564
0.0013348548




160919876
0.0015948548




239109587
0.0010948548




190959199
0.0023948548




163220290
0.001348548

我将如何设置此文档的格式以删除空白行和浮点数,所以最终得到的内容如下:

468653564
160919876
239109587
190959199
163220290

这种模式似乎在第一步(0.00.*)和第二步^$\n都可以正常工作,但是有没有办法一it而就呢?

3 个答案:

答案 0 :(得分:1)

要一次性处理多个正则表达式模式,只需添加一个“或”语句(|)即可将它们分隔开:

0\.00.*\n|^$\n

因此,这实际上表示查找0.00 ... OR 空行。

一种更为有效的模式可能是寻找数字\d(不具体针对哪个数字),然后是句点,然后再加上其他数字,因为它应该采取的步骤更少:

^(\n|\d\.\d+\n)

答案 1 :(得分:1)

一种可能性是

S1->S2->S3->S2

并替换为空字符串。它匹配所有以两位数开头的行。

答案 2 :(得分:1)

您可以选择对换行符进行贪婪搜索:

0\.00\d+(\r?\n)*

星星将组修改为“零个或多个”。这与数据末尾缺少的换行符以及要删除的换行符匹配。 \r被标记为可选,只是为了解决Unix风格与Windows风格之间的差异。模式的其余部分基本上与书写方式相同:找到一个零,然后是一个小数点,然后是一个双零,然后是一个或多个(+)数字,然后是可选的换行符。