12 namespace Symfony\Component\Finder;
48 public static function toRegex($glob, $strictLeadingDot =
true, $strictWildcardSlash =
true, $delimiter =
'#')
54 $sizeGlob = strlen($glob);
55 for ($i = 0; $i < $sizeGlob; ++$i) {
58 if ($strictLeadingDot &&
'.' !== $car) {
59 $regex .=
'(?=[^\.])';
69 if (
'.' === $car ||
'(' === $car ||
')' === $car ||
'|' === $car ||
'+' === $car ||
'^' === $car ||
'$' === $car) {
72 $regex .= $escaping ?
'\\*' : ($strictWildcardSlash ?
'[^/]*' :
'.*');
74 $regex .= $escaping ?
'\\?' : ($strictWildcardSlash ?
'[^/]' :
'.');
76 $regex .= $escaping ?
'\\{' :
'(';
80 }
elseif (
'}' === $car && $inCurlies) {
81 $regex .= $escaping ?
'}' :
')';
85 }
elseif (
',' === $car && $inCurlies) {
86 $regex .= $escaping ?
',' :
'|';
102 return $delimiter.
'^'.$regex.
'$'.$delimiter;