我必须提取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