Supported Versions: PHP 4, PHP 5, PHP 7, PHP 8
Perform a regular expression match
preg_match(    string $pattern,    string $subject,    array &$matches null,    int $flags 0,    int $offset 0): int|false
            return trim($model);

        } else {

            return 
$request->route($modelnull) ??

                ((
preg_match("/^['\"](.*)['\"]$/"trim($model), $matches)) ? $matches[1] : null);

        }

    }
    protected function extractChannelKeys($pattern$channel)

    {

        
preg_match('/^'.preg_replace('/\{(.*?)\}/''(?<$1>[^\.]+)'$pattern).'/'$channel$keys);



        return 
$keys;

    }
        }



        foreach (
$this->files->files($storagePath) as $file) {

            if (
preg_match('/facade-.*\.php$/'$file)) {

                
$this->files->delete($file);

            }

        }
    protected function sortImports($stub)

    {

        if (
preg_match('/(?P<imports>(?:use [^;{]+;$\n?)+)/m'$stub$match)) {

            
$imports explode("\n"trim($match['imports']));



            
sort($imports);
    protected static function name($expression)

    {

        if (! 
preg_match('/[^\s]+/'$expression$matches)) {

            throw new 
InvalidArgumentException('Unable to determine command name from signature.');

        }
        $options = [];



        foreach (
$tokens as $token) {

            if (
preg_match('/-{2,}(.*)/'$token$matches)) {

                
$options[] = static::parseOption($matches[1]);

            } else {

                
$arguments[] = static::parseArgument($token);
                return new InputArgument(trim($token'*'), InputArgument::IS_ARRAY InputArgument::REQUIRED$description);

            case 
str_ends_with($token'?'):

                return new 
InputArgument(trim($token'?'), InputArgument::OPTIONAL$description);

            case 
preg_match('/(.+)\=\*(.+)/'$token$matches):

                return new 
InputArgument($matches[1], InputArgument::IS_ARRAY$descriptionpreg_split('/,\s?/'$matches[2]));

            case 
preg_match('/(.+)\=(.+)/'$token$matches):

                return new 
InputArgument($matches[1], InputArgument::OPTIONAL$description$matches[2]);
                return new InputArgument(trim($token'?'), InputArgument::OPTIONAL$description);

            case 
preg_match('/(.+)\=\*(.+)/'$token$matches):

                return new 
InputArgument($matches[1], InputArgument::IS_ARRAY$descriptionpreg_split('/,\s?/'$matches[2]));

            case 
preg_match('/(.+)\=(.+)/'$token$matches):

                return new 
InputArgument($matches[1], InputArgument::OPTIONAL$description$matches[2]);

            default:

                return new 
InputArgument($tokenInputArgument::REQUIRED$description);
                return new InputOption(trim($token'='), $shortcutInputOption::VALUE_OPTIONAL$description);

            case 
str_ends_with($token'=*'):

                return new 
InputOption(trim($token'=*'), $shortcutInputOption::VALUE_OPTIONAL InputOption::VALUE_IS_ARRAY$description);

            case 
preg_match('/(.+)\=\*(.+)/'$token$matches):

                return new 
InputOption($matches[1], $shortcutInputOption::VALUE_OPTIONAL InputOption::VALUE_IS_ARRAY$descriptionpreg_split('/,\s?/'$matches[2]));

            case 
preg_match('/(.+)\=(.+)/'$token$matches):

                return new 
InputOption($matches[1], $shortcutInputOption::VALUE_OPTIONAL$description$matches[2]);
                return new InputOption(trim($token'=*'), $shortcutInputOption::VALUE_OPTIONAL InputOption::VALUE_IS_ARRAY$description);

            case 
preg_match('/(.+)\=\*(.+)/'$token$matches):

                return new 
InputOption($matches[1], $shortcutInputOption::VALUE_OPTIONAL InputOption::VALUE_IS_ARRAY$descriptionpreg_split('/,\s?/'$matches[2]));

            case 
preg_match('/(.+)\=(.+)/'$token$matches):

                return new 
InputOption($matches[1], $shortcutInputOption::VALUE_OPTIONAL$description$matches[2]);

            default:

                return new 
InputOption($token$shortcutInputOption::VALUE_NONE$description);
                return $this->compileArrayInput($key$value);

            }



            if (! 
is_numeric($value) && ! preg_match('/^(-.$|--.*)/i'$value)) {

                
$value ProcessUtils::escapeArgument($value);

            }
    protected function wrapJsonPathSegment($segment)

    {

        if (
preg_match('/(\[[^\]]+\])+$/'$segment$parts)) {

            
$key Str::beforeLast($segment$parts[0]);



            if (! empty(
$key)) {
    public static function guess($migration)

    {

        foreach (
self::CREATE_PATTERNS as $pattern) {

            if (
preg_match($pattern$migration$matches)) {

                return [
$matches[1], $create true];

            }

        }
        }



        foreach (
self::CHANGE_PATTERNS as $pattern) {

            if (
preg_match($pattern$migration$matches)) {

                return [
$matches[2], $create false];

            }

        }
    protected function isStandardDateFormat($value)

    {

        return 
preg_match('/^(\d{4})-(\d{1,2})-(\d{1,2})$/'$value);

    }