Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > uriライブラリ > URIモジュール
module URI
クラスの継承リスト: URI
Abstract
URI を扱うためのモジュールです。
特異メソッド
unescape(str) -> String
decode(str) -> String
-
URI 文字列をデコードした文字列を返します。
例:
require 'uri' puts URI.unescape('http://images.google.co.jp/images?q=%A5%E2%A5%CA%A5%EA%A5%B6&ie=EUC-JP') #=> "http://images.google.co.jp/images?q=モナリザ&ie=EUC-JP"
- [PARAM] str:
- URI を文字列として与えます。
escape(str, unsafe = URI::UNSAFE) -> String
encode(str, unsafe = URI::UNSAFE) -> String
-
URI 文字列をエンコードした文字列を返します。
例:
require 'uri' p URI.escape('http://images.google.co.jp/images?q=モナリザ&ie=EUC-JP') #=> "http://images.google.co.jp/images?q=%A5%E2%A5%CA%A5%EA%A5%B6&ie=EUC-JP"
- [PARAM] str:
- URI を文字列として与えます。
- [PARAM] unsafe:
- URI として指定できない文字を正規表現か文字列で指定します。
extract(str) -> [String]
extract(str, schemes) -> [String]
extract(str) {|uri_str| ... } -> nil
extract(str, schemes) {|uri_str| ... } -> nil
-
文字列 str に対してパターンマッチングを試み、 絶対URIにマッチした部分文字列からなる配列として返します。 抽出する URI がなければ空の配列を返します。
第2引数に文字列の配列 schemes が与えられた場合は そのスキームだけを検索します。
ブロックが与えられた場合は String#scan と同様で、 マッチした部分がみつかるたびに uri_str に その部分を代入してブロックを評価します。 このときは nil を返します。
- [PARAM] str:
- 文字列を与えます。
- [PARAM] schemes:
- 検索の対象としたいスキームを、文字列の配列として与えます。
例:
require 'uri' str = " http://www.ruby-lang.org/ http://www.ruby-lang.org/man-1.6/ " p URI.extract(str, ["http"]) => ["http://www.ruby-lang.org/", "http://www.ruby-lang.org/man-1.6/"]
join(uri_str, *path) -> object
-
文字列 uri_str と path ... を URI として連結して得られる URI オブジェクトを返します。
[RFC2396] の Section 5.2 の 仕様に従って連結します。 以下と等価です
URI.parse(uri_str) + path + ...
- [EXCEPTION] URI::InvalidURIError:
- パースに失敗した場合に発生します。
例:
require 'uri' p URI.join('http://www.ruby-lang.org/', '/ja/man-1.6/') => #<URI::HTTP:0x2010017a URL:http://www.ruby-lang.org/ja/man-1.6/>
parse(uri_str) -> object
-
与えられた URI から該当する URI::Generic のサブクラスのインスタンスを生成して 返します。scheme が指定されていない場合は、URI::Generic オブジェクトを返します。
- [PARAM] url:
- パースしたい URI を文字列として与えます。
- [EXCEPTION] URI::InvalidURIError:
- パースに失敗した場合に発生します。
例:
require 'uri' p uri = URI.parse("http://www.ruby-lang.org/") # => #<URI::HTTP:0x201002a6 URL:http://www.ruby-lang.org/> p uri.scheme # => "http" p uri.host # => "www.ruby-lang.org" p uri.port # => 80 p uri.path # => "/"
regexp -> Regexp
regexp(schemes) -> Regexp
-
URIにマッチする正規表現を返します。
schemes を与えた場合は、そのスキームの URI にのみマッチする 正規表現を返します。
いずれの場合も返り値の正規表現は不定数の正規表現グループ (括弧) を含みます。この括弧の数はバージョンによって変動 する可能性があるので、それに依存したコードを書くべきでは ありません。
- [PARAM] schemes:
- マッチさせたいスキームを、文字列の配列として与えます。
例:
require 'uri' p URI.regexp =~ "http://www.ruby-lang.org/" #=> 0
split(url) -> [String | nil]
-
URI を要素に分割した文字列の配列を返します。
各要素の種類と順番は以下のとおりです。
- scheme
- userinfo
- host
- port
- registry
- path
- opaque
- query
- fragment
- [PARAM] url:
- パースしたい URI を文字列として与えます。
- [EXCEPTION] URI::InvalidURIError:
- パースに失敗した場合に発生します。
例:
require 'uri' p URI.split("http://www.ruby-lang.org/") #=> ["http", nil, "www.ruby-lang.org", nil, nil, "/", nil, nil, nil]
定数
UNSAFE
-
URIとして指定できない文字にマッチする正規表現
/[^-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]/n
です。