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
Lepaskan: 2024-12-30 01:34:10
asal
814 orang telah melayarinya

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.-]*
    Salin selepas log masuk

    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)
    Salin selepas log masuk
  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]
    Salin selepas log masuk

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']
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan