REGEX:删除所有不包含该单词的文件的内容

REGEX:删除所有不包含该单词的文件的内容

假设我有几个文件,其中一些有确切的单词MIRELA HOME,而有些则没有。

因此,我想删除所有不包含单词/words的文件的内容,以便文件为空,0字节。

例如,我有一个包含以下文本的 html 文件,但没有确切的单词:MIRELA HOME

Karon, magpadayon kami uban pa nga maayo ug magamit nga app gikan sa kalibutan sa Android nga magamit alang sa mga kompyuter nga adunay GNU / Linux, Windows ug..

因此,使用正则表达式后,所有句子都将被删除,从而得到一个空文件。

我的正则表达式将找到所有没有指定单词的文件,但我不知道如何进行替换以删除整个文件。

搜索:(?s)\A(?!.*(MIRELA HOME).*$)

答案1

使用以下内容:

  • Ctrl+ Shift+F
  • 找什么:\A(?:(?!\bMIRELA HOME\b).)*\z
  • 用。。。来代替:LEAVE EMPTY
  • 筛选器:Whatever you want
  • 目录:Path\where\your\files\are
  • 查看 相符
  • 查看 正则表达式
  • 查看 . matches newline
  • Replace in Files

解释:

\A                  # beginning of file
        # Tempered Greedy Token
    (?:                 # non capture group
        (?!                 # negative lookahead
            \b                  # word boundary
            MIRELA HOME         # string to find
            \b                  # word boundary
        )                   # end lookahead
        .                   # any character
    )*                  # end group, mayy appear 0 or more times
\z                  # end of file

答案2

使用以下内容:

  • Ctrl+F
  • 找什么:(?s)\A(?!.*?(?<!\w)(MIRELA HOME)(?!\w)).*
  • 查看 环绕
  • 查看 正则表达式
  • Find All in Current Document

相关内容