kind=defined
names=extract
visibility=public

--- extract(str)                               -> [String]
--- extract(str, schemes)                      -> [String]
--- extract(str) {|uri_str| ... }              -> nil
--- extract(str, schemes) {|uri_str| ... }     -> nil

文字列 str に対してパターンマッチングを試み、
絶対URIにマッチした部分文字列からなる配列として返します。
抽出する URI がなければ空の配列を返します。

第2引数に文字列の配列 schemes が与えられた場合は
そのスキームだけを検索します。

ブロックが与えられた場合は [[m: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/"]

