【问题标题】:Select all consecutive lines starting with ".", except last one选择所有以“.”开头的连续行,最后一行除外
【发布时间】:2019-01-18 06:33:37
【问题描述】:

所以我正在清理一个包含在某处泄露的文件夹和文档的文本文件。我的观点是使用正则表达式来减轻我查找我们的任何东西是否受到损害的工作(显然,它已经)。 我已经处理掉了大约 80% 的不属于我们的垃圾,但突然间,我在列表中留下了很多空文件夹。因为它们以“。”开头。而空的是连续的,我来了。

一个例子是:

./folder1/folder2/folder3:
./folder1/folder2/folder4:
./folder1/folder2/folder5:
-rwxr-xr-x  1    514K  3 Out 08:06 somefilename.here

我的目标是删除第一行和第二行。忍受我,原始文件有超过 15k 行,清理后留下了一些 3k。因此,不仅要删除这两行,而且它们非常适合配置文件。

我在考虑类似(^\..*\n)+\. 之类的东西,但它仍然选择最后一行,我希望保留它。

【问题讨论】:

    标签: regex regex-lookarounds


    【解决方案1】:

    Google 给了我一些想法,例如thisthisthis 最后一个,但我不知道我的 regex-fu 是否仍然薄弱,我无法掌握。然后我偶然发现了this另一个:

    pattern = /df(?=.)/g;
    

    我很想尝试(^\..*\n)+(?=\.),它完成了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      • 2021-08-17
      • 1970-01-01
      • 2022-11-10
      • 2022-11-23
      • 2017-02-12
      • 2010-09-23
      相关资源
      最近更新 更多