我需要搜索目录以识别文件名中包含字符串的特定文件。但我想用“.filepart”扩展名排除部分加载的文件。
由于工具限制,必须通过Regex完成。
文件名可以是多种格式,我们必须从传递给Regex的“文件标识符”字符串中识别它们。
我在SO和其他网站上看过一些非常好的文章,但我很难确定正确的语法。
我在regex101.com上保存了一个页面,以提供我想要实现的更详细的解释。 “FILETYPE”可以被认为是我们传入正则表达式的字符串。
https://regex101.com/r/zTrbyX/4
谢谢, ķ
答案 0 :(得分:0)
您的原始正则表达式是:
.*FILETYPE.*\.[[:alnum:]]*(?!filepart)
将给出与以下相同的结果:
.*FILETYPE.*
相反,您可以使用以下正则表达式(类似于评论中的CAustin解决方案):
.*FILETYPE.*(?<!filepart)$
这将匹配以.*FILETYPE.*
开头且不以filetpart
结尾的每一行。这里$
表示该行的结尾。在regex101.com中,您需要激活m
的标记$
才能被识别为EOL。