Heim >Backend-Entwicklung >PHP-Tutorial >Wie extrahiere ich YouTube-Video-IDs mithilfe regulärer Ausdrücke aus Zeichenfolgen?
Problem:
Sie haben ein Textfeld, in das Benutzer beliebige Eingaben machen können Text, und Sie müssen alle YouTube-Video-URLs und die zugehörigen URLs extrahieren IDs.
Lösung:
Um YouTube-Video-IDs mithilfe eines regulären Ausdrucks aus Zeichenfolgen zu extrahieren, führen Sie die folgenden Schritte aus:
Definieren Sie den Regex Muster:
https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|</a>))[?=&+%\w.-]*
Erklärung:
Verwenden Sie die Regex zum Parsen des Textes:
Verwenden Sie die Funktion re.findall, um nach allen YouTube-Video-URLs im Text zu suchen.
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)
Extrahieren Sie die Video-IDs:
Die re.findall-Funktion gibt eine Liste übereinstimmender Video-URLs zurück. Sie können von jeder URL aus auf die Video-IDs zugreifen, indem Sie [:11] verwenden (YouTube-Video-IDs sind 11 Zeichen lang).
def get_video_ids(text): video_urls = find_video_ids(text) return [url[:11] for url in video_urls]
Beispiel:
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']
Das obige ist der detaillierte Inhalt vonWie extrahiere ich YouTube-Video-IDs mithilfe regulärer Ausdrücke aus Zeichenfolgen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!