匹配在 notepad++“在文件中查找”中包含所有指定单词的文件,无论顺序如何

匹配在 notepad++“在文件中查找”中包含所有指定单词的文件,无论顺序如何

我有一个单词列表:

  • Α
  • 测试版
  • 查理
  • 三角洲
  • 回声

以及 1000 个多行文件的列表。这些文件中的一个或多个包含所有 5 个单词,其他文件包含 4 个或更少的单词。单词可以按任何顺序出现在文件中。但是,每个单词在每个文件中仅出现一次。

我需要找到一个或多个包含所有 5 个单词的文件。

我尝试了很多正则表达式来插入 notepad++ 中的“在文件中查找”,但无法使其工作。尝试了一个小时。

答案1

  • Ctrl+ Shift+H
  • 找什么:\A(?=.*\bAlpha\b)(?=.*\bBeta\b)(?=.*\bCharlie\b)(?=.*\bDelta\b)(?=.*\bEcho\b)
  • 查看 相符
  • 查看 正则表达式
  • 查看 . matches newline
  • Find All

解释:

\A                      # beginning of file
(?=                     # positive lookahead, make sure we have after:
    .*                      # 0 or more any character
    \b                      # word boundary
    Alpha                   # word to search
    \b                      # word boundary
)                       # end lookahead
(?=.*\bBeta\b)          # same for 2nd word
(?=.*\bCharlie\b)       # same for 3rd word
(?=.*\bDelta\b)         # ...
(?=.*\bEcho\b)          # ...

这确保我们全部5 个词任何订单在文件中。

截屏:

在此处输入图片描述

相关内容