File.fnmatch?(glob, path, File::FNM_PATHNAME | File::FNM_DOTMATCH | File::FNM_EXTGLOB)
如果我想匹配目录下的所有文件和文件夹我认为你必须这样做:
foo/*
foo/**/*
糟透了。我认为这会起作用:
foo/**
但它只有在没有
FNM_PATHNAME
的情况下才有效。这方面的 Ruby 文档非常糟糕。这里到底发生了什么?是否有一个单一的模式可以匹配foo/a
和foo/a/b
?
好吧,事实证明
foo/**/*
确实匹配foo/a
*只有当你有FNM_PATHNAME
.