例如,在下面的列表中,我想查找包含onkey
AND tur
AND的所有行.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).*$
确保您使用的正则表达式模式不包含“.匹配换行符”。