NAME Regexp::Pattern::YouTube - Regexp patterns related to YouTube VERSION This document describes version 0.005 of Regexp::Pattern::YouTube (from Perl distribution Regexp-Pattern-YouTube), released on 2020-08-21. SYNOPSIS use Regexp::Pattern; # exports re() my $re = re("YouTube::channel_id"); DESCRIPTION Regexp::Pattern is a convention for organizing reusable regex patterns. PATTERNS * channel_id YouTube channel ID. YouTube channel ID is an encoding of 128-bit number using a custom base-64 character set. It's 24 characters long. Caveats: * Like with video ID format, there's no official guarantee that the channel ID will always be 24 characters, or that the allowed character set will stay the same. * This regex does not check whether a channel exists. To do that, you'll need to use the YouTube API. Examples: Example #1. "UCq-Fj5jknLsUf-MWSy4_brA" =~ re("YouTube::channel_id", {-anchor=>1}); # matches Incorrect length. "UCq-Fj5jknLsUf-MWSy4_brAx" =~ re("YouTube::channel_id", {-anchor=>1}); # DOESN'T MATCH Contains invalid character. "UCq-Fj5jknLsUf+MWSy4_brA" =~ re("YouTube::channel_id", {-anchor=>1}); # DOESN'T MATCH * playlist_id YouTube playlist ID. YouTube playlist ID is an encoding of 192-bit number using a custom base-64 character set. It's 34 characters long. Caveats: * Like with video and channel ID formats, there's no official guarantee that the playlist ID will always be 34 characters, or that the allowed character set will stay the same. * This regex does not check whether a playlist exists. To do that, you'll need to use the YouTube API. Examples: Example #1. "PL9bw4S5ePsEHQKZ4uTtbNXNQGjjOB8bRk" =~ re("YouTube::playlist_id", {-anchor=>1}); # matches Incorrect length. "PL9bw4S5ePsEHQKZ4uTtbNXNQGjjOB8bRk-" =~ re("YouTube::playlist_id", {-anchor=>1}); # DOESN'T MATCH Contains invalid character. "PL9bw4S5ePsEHQKZ4u+tbNXNQGjjOB8bRk" =~ re("YouTube::playlist_id", {-anchor=>1}); # DOESN'T MATCH * video_id YouTube video ID. YouTube video ID is an encoding of 64-bit number in a custom base-64 character set. It's 11 characters long. Caveats: * There's no official guarantee that the video ID will always be 11 characters, or that the allowed character set will stay the same. From L: "We don't make any public guarantees about the format for video ids. While they're currently 11 character strings that contain letters, numbers and some punctuation, I wouldn't recommend hardcoding that into your application (unless you have an easy way of changing it in the future)." * This regex does not check whether a video exists. To do that, you'll need to use the YouTube API. Examples: Example #1. "aNAtbYSxzuA" =~ re("YouTube::video_id", {-anchor=>1}); # matches Incorrect length. "aNAtbYSxzuA-" =~ re("YouTube::video_id", {-anchor=>1}); # DOESN'T MATCH Contains invalid character. "aNAtb+SxzuA" =~ re("YouTube::video_id", {-anchor=>1}); # DOESN'T MATCH HOMEPAGE Please visit the project's homepage at . SOURCE Source repository is at . BUGS Please report any bugs or feature requests on the bugtracker website When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature. SEE ALSO Regexp::Pattern Some utilities related to Regexp::Pattern: App::RegexpPatternUtils, rpgrep from App::rpgrep. AUTHOR perlancar COPYRIGHT AND LICENSE This software is copyright (c) 2020, 2018, 2016 by perlancar@cpan.org. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.