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 :
Définir la Regex Modèle :
https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|</a>))[?=&+%\w.-]*
Explication :
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-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|</a>))[?=&+%\w.-]*' return re.findall(pattern, text)
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]
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&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']
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!