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<
https://groups.google.com/d/msg/youtube-api-gdata/maM-h-zKPZc/
PJDlDWv77TEJ>:
"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
<
https://metacpan.org/release/Regexp-Pattern-YouTube>.
SOURCE
Source repository is at
<
https://github.com/perlancar/perl-Regexp-Pattern-YouTube>.
BUGS
Please report any bugs or feature requests on the bugtracker website
<
https://rt.cpan.org/Public/Dist/Display.html?Name=Regexp-Pattern-YouTub
e>
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 <
[email protected]>
COPYRIGHT AND LICENSE
This software is copyright (c) 2020, 2018, 2016 by
[email protected].
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.