1

この URL からhttp://www.youtube.com/watch?v= aNdMiIAlK0gビデオ IDを抽出する必要があります。gsubと正規表現を使用してこれを行う方法を知っている人はいますか?

4

2 に答える 2

6

vパラメータを次の正規表現と一致させることができます。

url[/(?<=[?&]v=)[^&$]+/] # => aNdMiIAlK0g

?orの後読みで始まり、文字列の次または最後&まですべてに一致します。&「v」で終わるものであっても、他のパラメーターがあっても機能します。

ただし、より安全な方法は、URI クラスを使用することです。

require 'uri'

query_string = URI.parse(url).query
parameters = Hash[URI.decode_www_form(query_string)]
parameters['v'] # => aNdMiIAlK0g
于 2010-11-25T08:19:52.857 に答える
2

これです:

ruby-1.9.2-p0 > "http://www.youtube.com/watch?v=aNdMiIAlK0g"[/v=([^&]+)/, 1]
 => "aNdMiIAlK0g"

&(ただし、URI ライブラリを使用してクエリ部分を取得し、値を使用してそれらを分割して使用するvこともできます。 =1となり、v=1)

于 2010-11-25T06:44:45.697 に答える