Fonctionnement du motif
| Partie | Signification |
|---|---|
(?:https?:\/\/)?(?:www\.|m\.)? | Protocole optionnel et sous-domaine www ou m |
youtube\.com\/(?:watch\?v=|embed\/|shorts\/) | URL watch, embed et Shorts |
youtu\.be\/ | Ou les liens courts youtu.be |
([\w-]{11}) | Groupe 1 : l'ID vidéo de 11 caractères |
(?:[?&#].*)? | Paramètres supplémentaires optionnels comme &t=42 ou &list=… |
Exemples de code
JavaScript
const re = /^(?:https?:\/\/)?(?:www\.|m\.)?(?:youtube\.com\/(?:watch\?v=|embed\/|shorts\/)|youtu\.be\/)([\w-]{11})(?:[?&#].*)?$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?:https?://)?(?:www\.|m\.)?(?:youtube\.com/(?:watch\?v=|embed/|shorts/)|youtu\.be/)([\w-]{11})(?:[?&#].*)?', value))PHP
preg_match('/^(?:https?:\/\/)?(?:www\.|m\.)?(?:youtube\.com\/(?:watch\?v=|embed\/|shorts\/)|youtu\.be\/)([\w-]{11})(?:[?&#].*)?$/', $value) === 1;
Notes et limites
Le groupe 1 contient l'ID vidéo, que vous pouvez insérer dans https://www.youtube.com/embed/ID ou dans l'URL de la miniature https://i.ytimg.com/vi/ID/hqdefault.jpg. L'URL watch doit avoir v= comme premier paramètre.
Testeur d’expressions régulières
Saisissez un modèle et observez les correspondances s'afficher en temps réel dans votre texte de test.