Notepad++ 查找包含任意组合的多个字符串的行?

Notepad++ 查找包含任意组合的多个字符串的行?

例如,在下面的列表中,我想查找包含onkeyAND turAND的所有行.pdf,其中任何组合(任意顺序的字符串,允许重复,但每行必须至少出现一次):

cat-dog-trutle-horse-horse-monkey.doc
fish-snail-monkey.txt
turtle-zebra-whale-monkey.doc
turtle-zebra-whale-zebra.pdf
turtle-zebra-whale-monkey.pdf
turtle-zebra-whale-monkey.png
turtle-zebra-whale-monkey-monkey.pdf--2

答案应该是:

turtle-zebra-whale-monkey.pdf
turtle-zebra-whale-monkey-monkey.pdf--2

此代码无法处理不同的排列。有什么想法可以修复它吗?

(.*)onkey(.*)tur(.*).pdf(.*)
x Regular expression

答案1

您可以使用 积极展望?=…)断言给定的模式可以匹配。将锚点放在字符串的开头,然后以任意顺序逐个查找每个字符串的匹配项。

它看上去是这样的:

^(?=.*onkey)(?=.*tur)(?=.*pdf).*$

确保您使用的正则表达式模式不包含“.匹配换行符”。

相关内容