Nette\Utils\Finder::buildPattern PHP Method

buildPattern() private static method

Converts Finder pattern to regular expression.
private static buildPattern ( $masks ) : string
return string
    private static function buildPattern($masks)
    {
        $pattern = [];
        foreach ($masks as $mask) {
            $mask = rtrim(strtr($mask, '\\', '/'), '/');
            $prefix = '';
            if ($mask === '') {
                continue;
            } elseif ($mask === '*') {
                return NULL;
            } elseif ($mask[0] === '/') {
                // absolute fixing
                $mask = ltrim($mask, '/');
                $prefix = '(?<=^/)';
            }
            $pattern[] = $prefix . strtr(preg_quote($mask, '#'), ['\\*\\*' => '.*', '\\*' => '[^/]*', '\\?' => '[^/]', '\\[\\!' => '[^', '\\[' => '[', '\\]' => ']', '\\-' => '-']);
        }
        return $pattern ? '#/(' . implode('|', $pattern) . ')\\z#i' : NULL;
    }