我有一个单词列表:
- Α
- 测试版
- 查理
- 三角洲
- 回声
以及 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 个词任何订单在文件中。
截屏: