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