Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengekstrak ID Video YouTube daripada Rentetan Menggunakan Ungkapan Biasa?

Bagaimana untuk Mengekstrak ID Video YouTube daripada Rentetan Menggunakan Ungkapan Biasa?

Barbara Streisand
Barbara Streisandasal
2024-12-30 01:34:10804semak imbas

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

Ekstrak ID Video YouTube daripada Rentetan Menggunakan Regex

Masalah:

Anda mempunyai medan teks di mana pengguna boleh memasukkan sewenang-wenangnya teks, dan anda perlu mengekstrak semua URL video YouTube dan yang sepadan dengannya ID.

Penyelesaian:

Untuk mengekstrak ID video YouTube daripada rentetan menggunakan ungkapan biasa, ikut langkah berikut:

  1. Tentukan Regex Corak:

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

    Penjelasan:

    • Padankan corak URL video dengan pelbagai format
    • Merakam ID YouTube dalam $1
  2. Gunakan Regex untuk Menghuraikan Teks:

    Gunakan fungsi re.findall untuk mencari semua URL video YouTube dalam teks.

    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. Ekstrak ID Video:

    Fungsi re.findall mengembalikan senarai URL video yang dipadankan. Anda boleh mengakses ID video daripada setiap URL menggunakan [:11] (ID video YouTube sepanjang 11 aksara).

    def get_video_ids(text):
        video_urls = find_video_ids(text)
        return [url[:11] for url in video_urls]

Contoh:

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']

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak ID Video YouTube daripada Rentetan Menggunakan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn