3

正規表現とディレクトリ パスが与えられた場合、パスが正規表現と一致する一連のファイルを取得するにはどうすればよいですか?

つまり、欲しい

(require '[clojure.java.io :as io])

(regex-file-seq #"\.ssh/.*\.pub$" (io/file "/home")) =>
(#<File /home/x/.ssh/iaf_dsa.pub> #<File ....>)

パーツを組み立てるのに数分かかったので、投稿しようと思いました。

4

2 に答える 2

6
(defn regex-file-seq
  "Lazily filter a directory based on a regex."
  [re dir]
  (filter #(re-find re (.getPath %)) (file-seq dir)))
于 2012-10-25T07:26:32.460 に答える
3

clj-globはそれを行うことができます:

(glob "*.{jpg,gif}")
于 2012-10-25T08:44:08.373 に答える