我必须提取 http://www.youtube.com/watch?v= aNdMiIAlK0g 来自此网址的视频 ID。有人知道如何使用 gsub 和 regex 做到这一点吗?
最佳答案
您可以将 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
关于ruby - 如何使用 gsub 提取 youtube 视频的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4274367/