site) { ResourceSite::TWITTER => '/$.^/', ResourceSite::ANIDB => '/$.^/', ResourceSite::ANILIST => '/$.^/', ResourceSite::ANIME_PLANET => '/$.^/', ResourceSite::ANN => '/$.^/', ResourceSite::KITSU => '/$.^/', ResourceSite::MAL => '/$.^/', ResourceSite::SPOTIFY => '/^https:\/\/open\.spotify\.com\/track\/\w+$/', ResourceSite::YOUTUBE_MUSIC => '/^https:\/\/music\.youtube\.com\/watch\?v=\w+$/', ResourceSite::YOUTUBE => '/^https:\/\/www\.youtube\.com\/watch\?v=\w+$/', ResourceSite::APPLE_MUSIC => '/^https:\/\/music\.apple\.com\/jp\/album\/\w+$/', ResourceSite::AMAZON_MUSIC => '/^https:\/\/amazon\.co\.jp\/music\/player\/albums\/\w+$/', default => null, }; if ($pattern !== null && Str::match($pattern, $value) !== $value) { $fail(__('validation.regex')); } } }