Ответ 1
Прежде всего, я никогда не работал с библиотеками node-glob
или minimatch
. Но, вероятно, я все еще могу помочь. Там известный синтаксис для сопоставления шаблонов glob, но, откровенно говоря, быстрый поиск в Google не показывает ничего короткого и ясного. Вероятно, это - http://hgbook.red-bean.com/read/file-names-and-pattern-matching.html#id381184 - лучший ресурс, который я нашел. Статья в Википедии является исчерпывающей и нечитаемой - http://en.wikipedia.org/wiki/Glob_(programming).
Короче говоря, IMHO для node -glob:
-
*
- обозначает любое количество символов для имени файла, но не может стоять за/
-
**
- то же, что и*
, но пересекает границы папок -
[abxy]
- может заменить любой символ из списка;[0-9]
может стоять за любое число
Следовательно, к вашему примеру:
-
path/*
- все файлы и папки вpath
не возвращаются -
path/**
- все вpath
recoursively -
path/*.*
- все файлы и папки с указанием имени; соответствуетa.txt
,.hidden
,noextension.
,folder.out
,...
В документации минимизации - https://github.com/isaacs/minimatch, - он делает то же самое, но использует более богатые и немного более сложные синтаксис Регулярных выражений. Вы можете посмотреть здесь всеобъемлющую ссылку - http://www.w3schools.com/js/js_regexp.asp. Короче говоря, path/.*
означает что-либо ниже пути, но неясно, рекурсивный или нет. Возможно, вы можете проверить его.