問題:
ユーザーが任意の値を入力できるテキスト フィールドがあるすべての YouTube 動画 URL とそれに対応する URL を抽出する必要があります。 ID。
解決策:
正規表現を使用して文字列から YouTube 動画 ID を抽出するには、次の手順に従います:
正規表現を定義するパターン:
https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|</a>))[?=&+%\w.-]*
説明:
正規表現を使用してテキストを解析します:
re.findall 関数を使用して、次のすべての YouTube ビデオ URL を検索します。のtext.
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)
ビデオ ID を抽出します:
re.findall 関数は、一致したビデオ URL のリストを返します。 [:11] を使用して各 URL からビデオ ID にアクセスできます (YouTube ビデオ ID の長さは 11 文字です)。
def get_video_ids(text): video_urls = find_video_ids(text) return [url[:11] for url in video_urls]
例:
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']
以上が正規表現を使用して文字列から YouTube 動画 ID を抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。