ホームページ > バックエンド開発 > PHPチュートリアル > 正規表現を使用して文字列から YouTube 動画 ID を抽出する方法

正規表現を使用して文字列から YouTube 動画 ID を抽出する方法

Barbara Streisand
リリース: 2024-12-30 01:34:10
オリジナル
800 人が閲覧しました

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

正規表現を使用して文字列から YouTube 動画 ID を抽出する

問題:

ユーザーが任意の値を入力できるテキスト フィールドがあるすべての YouTube 動画 URL とそれに対応する URL を抽出する必要があります。 ID。

解決策:

正規表現を使用して文字列から YouTube 動画 ID を抽出するには、次の手順に従います:

  1. 正規表現を定義するパターン:

    https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&amp;+%\w.-]*(?:['"][^<>]*>|</a>))[?=&amp;+%\w.-]*
    ログイン後にコピー

    説明:

    • さまざまな形式のビデオ URL パターンと一致します
    • で YouTube ID をキャプチャします$1
  2. 正規表現を使用してテキストを解析します:

    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-]|$)(?![?=&amp;+%\w.-]*(?:['"][^<>]*>|</a>))[?=&amp;+%\w.-]*'
        return re.findall(pattern, text)
    ログイン後にコピー
  3. ビデオ 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&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']
ログイン後にコピー

以上が正規表現を使用して文字列から YouTube 動画 ID を抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート