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

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

Mary-Kate Olsen
發布: 2024-12-16 15:49:18
原創
940 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板