* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Finder; /** * Gitignore matches against text. * * @author Michael Voříšek * @author Ahmed Abdou */ class Gitignore { /** * Returns a regexp which is the equivalent of the gitignore pattern. * * Format specification: https://git-scm.com/docs/gitignore#_pattern_format * @param string $gitignoreFileContent */ public static function toRegex($gitignoreFileContent) { return self::buildRegex($gitignoreFileContent, false); } /** * @param string $gitignoreFileContent */ public static function toRegexMatchingNegatedPatterns($gitignoreFileContent) { return self::buildRegex($gitignoreFileContent, true); } /** * @param string $gitignoreFileContent * @param bool $inverted */ private static function buildRegex($gitignoreFileContent, $inverted) { $gitignoreFileContent = preg_replace('~(?