如何在Clojure中获取与文件掩码(通配符)匹配的文件列表?

时间:2010-08-06 19:30:38

标签: clojure wildcard

是否有一种简单的方法来获取与指定文件掩码匹配的文件列表?通过filemask我的意思是经典的通配符,而不是正则表达式。

我可以使用file-seq,然后使用通配符创建的regexp进行过滤。但是,这并不是微不足道的(考虑逃避等)。

我也知道来自Apache Commons的FilenameUtils.wildcardMatch(),但我不愿意为我正在构建的一个小工具添加这样的依赖。

Clojure生态系统中必定存在一些我不知道的东西。

2 个答案:

答案 0 :(得分:5)

我不知道任何用Clojure编写的工具。

java.nio.file.PathMatcher可以进行通配符匹配,请参阅http://download.oracle.com/javase/tutorial/essential/io/find.html

答案 1 :(得分:5)

clj-glob适合账单:http://github.com/jkk/clj-glob

根据您的需要,它可能是也可能不是生产就绪的(例如,尚未经过Windows的全面测试),但它对我的目的来说效果很好。

P.S。,欢迎补丁。