Maison > développement back-end > tutoriel php > Comment extraire les identifiants de vidéos YouTube à partir de chaînes à l'aide d'expressions régulières ?

Comment extraire les identifiants de vidéos YouTube à partir de chaînes à l'aide d'expressions régulières ?

Barbara Streisand
Libérer: 2024-12-30 01:34:10
original
800 Les gens l'ont consulté

How to Extract YouTube Video IDs from Strings Using Regular Expressions?

Extraire les identifiants de vidéos YouTube à partir de chaînes à l'aide de Regex

Problème :

Vous disposez d'un champ de texte dans lequel les utilisateurs peuvent saisir des données arbitraires. texte, et vous devez extraire toutes les URL des vidéos YouTube et leurs correspondances ID.

Solution :

Pour extraire les ID de vidéo YouTube à partir de chaînes à l'aide d'une expression régulière, procédez comme suit :

  1. Définir la Regex Modèle :

    https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&amp;+%\w.-]*(?:['"][^<>]*>|</a>))[?=&amp;+%\w.-]*
    Copier après la connexion

    Explication :

    • Correspond au modèle d'URL de la vidéo avec différents formats
    • Capture l'identifiant YouTube dans $1
  2. Utilisez l'expression régulière pour Analyser le texte :

    Utilisez la fonction re.findall pour rechercher toutes les URL de vidéos YouTube dans le texte.

    import re
    
    def find_video_ids(text):
        pattern = r'https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&amp;+%\w.-]*(?:['"][^<>]*>|</a>))[?=&amp;+%\w.-]*'
        return re.findall(pattern, text)
    Copier après la connexion
  3. Extraire le ID vidéo :

    La fonction re.findall renvoie une liste d'URL de vidéo correspondantes. Vous pouvez accéder aux identifiants vidéo à partir de chaque URL en utilisant [:11] (les identifiants vidéo YouTube comportent 11 caractères).

    def get_video_ids(text):
        video_urls = find_video_ids(text)
        return [url[:11] for url in video_urls]
    Copier après la connexion

Exemple :

text = """
Lorem Ipsum is simply dummy text.
https://www.youtube.com/watch?v=DUQi_R4SgWo
of the printing and typesetting
industry. Lorem Ipsum has been the
industry's standard dummy text ever
since the 1500s, when an unknown
printer took a galley of type and
scrambled it to make a type specimen
book. It has survived not only five
centuries, but also the leap into
electronic typesetting, remaining
essentially unchanged.
https://www.youtube.com/watch?v=A_6gNZCkajU&amp;feature=relmfu
It was popularised in the 1960s with
the release of Letraset sheets
containing Lorem Ipsum passages, and
more recently with desktop publishing
software like Aldus PageMaker
including versions of Lorem Ipsum."""

video_ids = get_video_ids(text)
print(video_ids)
# Output: ['DUQi_R4SgWo', 'A_6gNZCkajU']
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal