目前我正在使用此正则表达式从Youtube网址中提取视频ID:
url.match(/v=([^&]*)/)[1]
如何更改此设置,以便它还可以从此Youtube网址获取视频ID,该网址没有v参数:
http://www.youtube.com/user/SHAYTARDS#p/u/9/Xc81AajGUMU
谢谢阅读.
编辑:我正在使用ruby 1.8.7
解决方法
对于Ruby 1.8.7,这样做.
url_1 = 'http://www.youtube.com/watch?v=8WVTOUh53QY&feature=Feedf' url_2 = 'http://www.youtube.com/user/ForceD3strategy#p/a/u/0/8WVTOUh53QY' regex = /youtube.com.*(?:\/|v=)([^&$]+)/ puts url_1.match(regex)[1] # => 8WVTOUh53QY puts url_2.match(regex)[1] # => 8WVTOUh53QY