wjdhollow/antglob

PHP Ant Glob

0.0.5 2015-07-14 02:16 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:37:03 UTC


README

PHP 的 Ant 风格 glob

AntGlob 工具集是 Ant 指定的语法集合,详情请见 https://ant.apache.ac.cn/manual/dirtasks.html。Ant 模式用于匹配文件和目录,类似于 DOS 或 UNIX 中的 glob 模式。

'*' 匹配零个或多个字符,不包括目录分隔符。

'?' 匹配单个字符。

模式被认为是相对路径,相对于工作目录。只有位于工作目录下方的文件才会被考虑。绝对模式的行為定义得比较宽松,因此不建议使用。

匹配是按目录进行的,意味着首先匹配第一个模式,然后依次匹配第二个等。整个模式必须满足才能被认为是匹配。使用 glob 风格模式匹配的一个常见替代方法是应用正则表达式。等效的正则表达式将被认为是“懒惰”的,而不是“贪婪”的。

'**' 可以用于匹配多个目录层级。这可以用来匹配整个目录树,或者目录树中的任何文件。

作为一个简写,任何以 '/' 结尾的模式都会自动加上 '**'。例如,'mydir' 匹配名为 'mydir' 的目录,而 'mydir/' 匹配 'mydir' 目录树中的所有文件。

安装: composer require wjdhollow/antglob

命令行工具: bin/antglob <directory> <glob_pattern>

API

$glob = new AntGlob($pattern);

$matches = $glob->isMatch($name);

$pathnames = $glob->inDirectory($directory);