对不起,这有点难以解释和总结,但我正在处理一个只能基于应用于整个文件路径的正则表达式EXCLUDE项目的系统。我的愿望是让它只INCLUDE pdf文件,如果它们包含在“e-comps”的文件夹或子文件夹中。因为它只能排除,如果所有文件不在包含“e-comps”的路径中,我们将希望匹配所有文件(假设它们具有文件扩展名),以及包含“e-comps”的路径中的.pdf以外的任何文件。
示例输入:
client/
client/100-300/
client/100-300/101 abc/
client/100-300/101 abc/active/
client/100-300/101 abc/active/asset.pdf
client/100-300/101 abc/active/asset.doc
client/100-300/101 abc/e-comps/asset.pdf
client/100-300/101 abc/e-comps/asset.doc
client/100-300/101 abc/e-comps/asset.jpg
client/100-300/101 abc/e-comps/folder/asset.jpg
client/100-300/101 abc/e-comps/folder/asset.pdf
应匹配:
client/100-300/101 abc/active/asset.pdf
client/100-300/101 abc/active/asset.doc
client/100-300/101 abc/e-comps/asset.doc
client/100-300/101 abc/e-comps/asset.jpg
client/100-300/101 abc/e-comps/folder/asset.jpg
我已经尝试了基于.pdf扩展名的正则表达式,但是一旦我尝试添加任何关于“e-comps”的内容,我就会得到不理想的结果。^.+(?=\.)(?!\.pdf).*$
我相信我正在与PCRE合作
谢谢大家!
1条答案
按热度按时间w6lpcovy1#
如果您不介意匹配文件夹:
试试看on regex101.com。
如果是,请添加另一个lookahead:
试试on regex101.com。
请注意,regex101上的正则表达式被修改了一点,这样它们就不会扰乱换行符。