Supported Versions: PHP 4, PHP 5, PHP 7, PHP 8
                                                    Perform a global regular expression match
                                                                <?php preg_match_all(    string $pattern,    string $subject,    array &$matches = null,    int $flags = 0,    int $offset = 0): int|false<?php     {
        $name = static::name($expression);
        if (preg_match_all('/\{\s*(.*?)\s*\}/', $expression, $matches) && count($matches[1])) {
            return array_merge([$name], static::parameters($matches[1]));
        }<?php     protected function parseSearchPath($searchPath)
    {
        if (is_string($searchPath)) {
            preg_match_all('/[^\s,"\']+/', $searchPath, $matches);
            $searchPath = $matches[0];
        }<?php     protected static function getMutatorMethods($class)
    {
        preg_match_all('/(?<=^|;)get([^;]+?)Attribute(;|$)/', implode(';', get_class_methods($class)), $matches);
        return $matches[1];
    }<?php         if (preg_match('/(\[[^\]]+\])+$/', $attribute, $parts)) {
            $key = Str::beforeLast($attribute, $parts[0]);
            preg_match_all('/\[([^\]]+)\]/', $parts[0], $keys);
            return collect([$key])
                ->merge($keys[1])<?php     protected function replaceEmbeddedAttachments(string $renderedView, array $attachments)
    {
        if (preg_match_all('/<img.+?src=[\'"]cid:([^\'"]+)[\'"].*?>/i', $renderedView, $matches)) {
            foreach (array_unique($matches[1]) as $image) {
                foreach ($attachments as $attachment) {
                    if ($attachment->getFilename() === $image) {<?php     protected function setResourceBindingFields($route, $bindingFields)
    {
        preg_match_all('/(?<={).*?(?=})/', $route->uri, $matches);
        $fields = array_fill_keys($matches[0], null);<?php     protected function compileParameterNames()
    {
        preg_match_all('/\{(.*?)\}/', $this->getDomain().$this->uri, $matches);
        return array_map(fn ($m) => trim($m, '?'), $matches[1]);
    }<?php     protected function getOptionalParameterNames()
    {
        preg_match_all('/\{(\w+?)\?\}/', $this->uri(), $matches);
        return isset($matches[1]) ? array_fill_keys($matches[1], null) : [];
    }<?php     public static function parse($uri)
    {
        preg_match_all('/\{([\w\:]+?)\??\}/', $uri, $matches);
        $bindingFields = [];<?php             $route
        ), $parameters);
        if (preg_match_all('/{(.*?)}/', $uri, $matchedMissingParameters)) {
            throw UrlGenerationException::forMissingParameters($route, $matchedMissingParameters[1]);
        }<?php     public static function matchAll($pattern, $subject)
    {
        preg_match_all($pattern, $subject, $matches);
        if (empty($matches[0])) {
            return collect();<?php     protected function compileStatements($template)
    {
        preg_match_all('/\B@(@?\w+(?:::\w+)?)([ \t]*)(\( ( [\S\s]*? ) \))?/x', $template, $matches);
        $offset = 0;<?php             )?
        if (! preg_match_all($pattern, $attributeString, $matches, PREG_SET_ORDER)) {
            return [];
        }