首頁 >後端開發 >php教程 >如何使用正規表示式從文字中提取 YouTube 影片 ID?

如何使用正規表示式從文字中提取 YouTube 影片 ID?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-16 15:49:181041瀏覽

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

如何使用正則表達式從文本中提取YouTube 視頻ID

問題:

給定使用者可以在其中輸入文字的文字字段,任務是提取所有YouTube 影片URL 及其對應的ID。

使用正規表示式的解決方案:

要從給定字串中提取YouTube 影片ID,您可以使用可匹配所有可能的YouTube URL 格式的正規表示式。以下是一個可以實現此目的的範例正規表示式:

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

正規表示式細分:

  • https?://:匹配HTTP 或HTTPS 協定。
  • (?:[0-9A-Z-] .)?: 符合可選subdomain.
  • (?:youtu.be/|youtube(?:-nocookie)?.comS *?[^ws-]):匹配任何YouTube 主機格式,包括“youtu.be”,“youtube.com”、“youtube-nocookie.com”,並允許在影片 ID之前添加其他字元。
  • ([w-]{11})(捕捉Group):捕捉 YouTube 影片 ID,這是一個 11 個字元的字母數字字串。
  • (?=[^w-]|$):如果下一個字符不是字母數字字符,則匹配的正向先行斷言或字符串的末尾。
  • (?![?=& %w.-]*(?:['"][^]*>|))[?=& %w.-]* :確保URL的否定先行斷言尚未連結。 :

請注意,slice(17) 刪除了“https:/” /www.youtube.com/watch?v= 來自 YouTube URL 的前綴,用於提取影片 ID。

以上是如何使用正規表示式從文字中提取 YouTube 影片 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn