我必須提取http://www.youtube.com/watch?v=aNdMiIAlK0g來自此網址的視頻ID。任何人都知道如何使用gsub和正則表達式?如何使用gsub來提取YouTube視頻的ID?
1
A
回答
6
你可以用這個正則表達式的v
參數相匹配:
url[/(?<=[?&]v=)[^&$]+/] # => aNdMiIAlK0g
它從?
或&
的後視開始,並匹配所有內容,直到下一個&
或字符串的末尾。即使有其他參數,即使是以「v」結尾的參數,它也可以工作。
然而,一個更安全的方式做到這一點可能是使用URI類:
require 'uri'
query_string = URI.parse(url).query
parameters = Hash[URI.decode_www_form(query_string)]
parameters['v'] # => aNdMiIAlK0g
2
這是它:
ruby-1.9.2-p0 > "http://www.youtube.com/watch?v=aNdMiIAlK0g"[/v=([^&]+)/, 1]
=> "aNdMiIAlK0g"
(雖然你可能想使用URI庫獲取查詢部分,並使用&
割裂開來,並使用值v
,因爲如果上面會感到困惑網址是像http://www.youtube.com/promo?for_tv=1,它將把它作爲v=1
)
+0
謝謝你,我試過這個並得到了結果:str.match(/ v =([\ w | - ] *)&* /)[1] – 2010-11-25 08:42:00
相關問題
- 1. PHP:從YouTube網址提取視頻ID
- 2. 提取視頻ID從YouTube網址
- 3. 如何從URL使用YouTube獲取YouTube視頻ID
- 4. 如何從PlaylistID獲取YouTube視頻ID?
- 5. 如何從頻道(YouTube)檢索視頻的YouTube視頻ID
- 6. 獲取youtube視頻ID PHP
- 7. 如何從Python的YouTube鏈接中提取視頻ID?
- 8. 如何獲取成功上傳的YouTube視頻的視頻ID?
- 9. 使用子字符串拉取YouTube視頻的視頻ID
- 10. 正則表達式來提取YouTube視頻ID?
- 11. 如何從YouTube視頻鏈接中提取和驗證ID?
- 12. 如何從Youtube視頻源獲取視頻ID?
- 13. 如何使用來自用戶名的提要獲取YouTube視頻?
- 14. 提取視頻ID
- 15. 如何使用YouTube獲取視頻ID .net api
- 16. 如何驗證YouTube視頻ID用JavaScript
- 17. PHP顯示來自YouTube的視頻ID
- 18. 如何使用python提取YouTube視頻的標題
- 19. 如何使用基於頻道ID的YouTube API查找視頻
- 20. 使用YouTube API從YouTube播放列表中提取視頻URL或ID
- 21. 用於提取Youtube視頻ID的Javascript正則表達式
- 22. 使用Android Youtube ApI v3從YouTube獲取視頻ID
- 23. Youtube視頻ID Combinatorics
- 24. 提取的YouTube視頻鏈接使用YouTube數據API
- 25. 如何獲取用戶的YouTube精選視頻的ID
- 26. 從jQuery的URL獲取YouTube視頻ID
- 27. 從特定頻道提取YouTube視頻
- 28. 嵌入YouTube隱藏來源/視頻ID
- 29. 如何從YouTube上的視頻ID獲取Dailymotion視頻中的視頻縮略圖,就像在YouTube中一樣?
- 30. 如何獲取用戶的YouTube視頻
有人正試圖做同樣的事情在[這個問題](http://stackoverflow.com/questions/3903854/how-can-i-alter-this-regex-to-get-the-youtube-video-id-from-a-youtube-url-that-do) – 2010-11-25 11:41:33
有時可能會有像http:// youtu這樣的短url .be/aNdMiIAlK0g你可能會在這裏考慮 – 2014-09-10 10:26:26