るりまサーチ (Ruby 2.3.0)

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.005秒)
トップページ > クラス:MatchData[x] > バージョン:2.3.0[x]

ライブラリ

キーワード

検索結果

MatchData#==(other) -> bool (2.0)

self と other のマッチ対象になった文字列、元になった正規表現オブジェク ト、マッチした位置が等しければ true を返します。そうでない場合には false を返します。

self と other のマッチ対象になった文字列、元になった正規表現オブジェク
ト、マッチした位置が等しければ true を返します。そうでない場合には
false を返します。

@param other 比較対象のオブジェクトを指定します。

MatchData#[](n) -> String | nil (2.0)

n 番目の部分文字列を返します。

n 番目の部分文字列を返します。

0 はマッチ全体を意味します。
n の値が負の時には末尾からのインデックスと見倣します(末尾の
要素が -1 番目)。n 番目の要素が存在しない時には nil を返します。

@param n 返す部分文字列のインデックスを指定します。

/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.to_a # => ["foobar", "foo", "bar", nil]
p $~[0] # => "foobar"
p $~[1] # => "foo"
p $~[2] ...

MatchData#[](name) -> String | nil (2.0)

name という名前付きグループにマッチした文字列を返します。

name という名前付きグループにマッチした文字列を返します。

@param name 名前(シンボルか文字列)
@raise IndexError 指定した名前が正規表現内に含まれていない場合に発生します

/\$(?<dollars>\d+)\.(?<cents>\d+)/.match("$3.67")[:cents] # => "67"
/(?<alpha>[a-zA-Z]+)|(?<num>\d+)/.match("aZq")[:num] # => nil

MatchData#[](range) -> [String] (2.0)

Range オブジェクト range の範囲にある要素からなる部分配列を返します。

Range オブジェクト range の範囲にある要素からなる部分配列を返します。

@param range start..end 範囲式。

/(foo)(bar)/ =~ "foobarbaz"
p $~[0..2] # => ["foobar", "foo", "bar"]

MatchData#[](start, length) -> [String] (2.0)

start 番目から length 個の要素を含む部分配列を返します。

start 番目から length 個の要素を含む部分配列を返します。

/(foo)(bar)/ =~ "foobarbaz"
p $~[0, 3] # => ["foobar", "foo", "bar"]

@see Array#[]

絞り込み条件を変える

MatchData#begin(n) -> Integer | nil (2.0)

n 番目の部分文字列先頭のオフセットを返します。

...se IndexError 範囲外の n を指定した場合に発生します。

/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.begin(0) # => 0
p $~.begin(1) # => 0
p $~.begin(2) # => 3
p $~.begin(3) # => nil
p $~.begin(4) # => `begin': index 4 out of matches (IndexError)

@see MatchData#end...

MatchData#captures -> [String] (2.0)

$1, $2, ... を格納した配列を返します。

...$1, $2, ... を格納した配列を返します。

MatchData
#to_a と異なり $& を要素に含みません。
グループにマッチした部分文字列がなければ対応する要素は nil になります。

/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.to_a # => ["foobar", "foo", "...
...bar", nil]
p $~.captures # => ["foo", "bar", nil]

@see MatchData#to_a...

MatchData#end(n) -> Integer | nil (2.0)

n 番目の部分文字列終端のオフセットを返します。

...

@raise IndexError 範囲外の n を指定した場合に発生します。

/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.end(0) # => 6
p $~.end(1) # => 3
p $~.end(2) # => 6
p $~.end(3) # => nil
p $~.end(4) # => `end': index 4 out of matches (IndexError)

@see MatchData#begin...

MatchData#eql?(other) -> bool (2.0)

self と other のマッチ対象になった文字列、元になった正規表現オブジェク ト、マッチした位置が等しければ true を返します。そうでない場合には false を返します。

self と other のマッチ対象になった文字列、元になった正規表現オブジェク
ト、マッチした位置が等しければ true を返します。そうでない場合には
false を返します。

@param other 比較対象のオブジェクトを指定します。

MatchData#hash -> Integer (2.0)

self のマッチ対象になった文字列、元になった正規表現オブジェクト、マッチ した位置を元にハッシュ値を計算して返します。

self のマッチ対象になった文字列、元になった正規表現オブジェクト、マッチ
した位置を元にハッシュ値を計算して返します。

絞り込み条件を変える

MatchData#inspect -> String (2.0)

self の内容を人間に読みやすい文字列にして返します。

...).inspect
# => #<MatchData "o">

puts /(.)(.)(.)/.match("foo").inspect
# => #<MatchData "foo" 1:"f" 2:"o" 3:"o">

puts /(.)(.)?(.)/.match("fo").inspect
# => #<MatchData "fo" 1:"f" 2:nil 3:"o">

puts /(?<foo>.)(?<bar>.)(?<baz>.)/.match("hoge").inspect
# => #<MatchData "hog" foo:"h" bar:...

MatchData#length -> Integer (2.0)

部分文字列の数を返します(self.to_a.size と同じです)。

部分文字列の数を返します(self.to_a.size と同じです)。

/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.size # => 4

MatchData#names -> [String] (2.0)

名前付きキャプチャの名前を文字列配列で返します。

...チャの名前を文字列配列で返します。

self.regexp.names と同じです。

/(?<foo>.)(?<bar>.)(?<baz>.)/.match("hoge").names
#=> ["foo", "bar", "baz"]

m = /(?<x>.)(?<y>.)?/.match("a") #=> #<MatchData "a" x:"a" y:nil>
m.names #=> ["x", "y"]...

MatchData#offset(n) -> [Integer] (2.0)

n 番目の部分文字列のオフセットの配列 [start, end] を返 します。

...self.begin(n), self.end(n) ]

と同じです。n番目の部分文字列がマッチしていなければ
[nil, nil] を返します。

@param n 部分文字列を指定する数値

@raise IndexError 範囲外の n を指定した場合に発生します。

@see MatchData#begin, MatchData#end...

MatchData#post_match -> String (2.0)

マッチした部分より後ろの文字列を返します($'と同じ)。

...マッチした部分より後ろの文字列を返します($'と同じ)。

/(bar)(BAZ)?/ =~ "foobarbaz"
p $~.post_match # => "baz"

@see MatchData#pre_match...

絞り込み条件を変える

MatchData#pre_match -> String (2.0)

マッチした部分より前の文字列を返します($`と同じ)。

...マッチした部分より前の文字列を返します($`と同じ)。

/(bar)(BAZ)?/ =~ "foobarbaz"
p $~.pre_match # => "foo"

@see MatchData#post_match...

MatchData#regexp -> Regexp (2.0)

自身の元になった正規表現オブジェクトを返します。

自身の元になった正規表現オブジェクトを返します。

m = /a.*b/.match("abc")
m.regexp #=> /a.*b/

MatchData#size -> Integer (2.0)

部分文字列の数を返します(self.to_a.size と同じです)。

部分文字列の数を返します(self.to_a.size と同じです)。

/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.size # => 4

MatchData#string -> String (2.0)

マッチ対象になった文字列の複製を返します。

マッチ対象になった文字列の複製を返します。

返す文字列はフリーズ(Object#freeze)されています。

m = /(.)(.)(\d+)(\d)/.match("THX1138.")
m.string # => "THX1138."

MatchData#to_a -> [String] (2.0)

$&, $1, $2,... を格納した配列を返します。

...1, $2,... を格納した配列を返します。

/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.to_a # => ["foobar", "foo", "bar", nil]

@see MatchData#captures...

絞り込み条件を変える

MatchData#to_s -> String (2.0)

マッチした文字列全体を返します。

...マッチした文字列全体を返します。

/bar/ =~ "foobarbaz"
p $~ # => #<MatchData:0x401b1be4>
p $~.to_s # => "bar"...

MatchData#values_at(*index) -> [String] (2.0)

正規表現中の n 番目の括弧にマッチした部分文字列の配列を返します。

正規表現中の n 番目の括弧にマッチした部分文字列の配列を返します。

0 番目は $& のようにマッチした文字列全体を表します。

@param index インデックスを整数で 0 個以上指定します。

m = /(foo)(bar)(baz)/.match("foobarbaz")
# same as m.to_a.values_at(...)
p m.values_at(0, 1, 2, 3, 4) #=> ["foobarbaz", "foo", "bar", "baz", nil]
p m.values_at(-1, -2, -3, -4, -5) #=...