Last update: 2023-11-22

URLからYoutubeのVideoIDを取り出す   Emacs EmacsLisp

URIをパースする操作で、実際にYoutubeのURLからVideoIDを取り出してみる。

(let* ((url (url-generic-parse-url "https://www.youtube.com/watch?v=123456"))
       (host (url-host url))
       (path (url-filename url))
       (youtube? (string-suffix-p "youtube.com" host))
       (vid (when youtube?
              (string-match "/watch?.*v=\\(.*\\)" path)
              (match-string 1 path))))
  vid)
123456