るりまサーチ

最速Rubyリファレンスマニュアル検索!
88件ヒット [1-88件を表示] (0.174秒)
トップページ > クエリ:-[x] > クエリ:r[x] > クエリ:at[x] > クエリ:l[x] > クエリ:match[x] > クエリ:begin[x]

別のキーワード

  1. _builtin at
  2. _builtin values_at
  3. time at
  4. dbm values_at
  5. irb irb_at_exit

ライブラリ

クラス

キーワード

検索結果

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

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

...nilを返します。

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

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

//emlist[例][ruby]{
/(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...

Regexp.last_match -> MatchData (21744.0)

カレントスコープで最後に行った正規表現マッチの MatchData オ ブジェクトを返します。このメソッドの呼び出しは $~ の参照と同じです。

... MatchData オ
ブジェクトを返します。このメソッドの呼び出しは $~
の参照と同じです。

//emlist[例][ruby]{
/(.)(.)/ =~ "ab"
p Regexp.last_match # => #<MatchData:0x4599e58>
p Regexp.last_match[0] # => "ab"
p Regexp.last_match[1] # => "a"
p Regexp.last_match[2]...
...# => "b"
p Regexp.last_match[3] # => nil
//}...

Regexp.last_match(nth) -> String | nil (21579.0)

整数 nth が 0 の場合、マッチした文字列を返します ($&)。それ以外では、nth 番目の括弧にマッチ した部分文字列を返します($1,$2,...)。 対応する括弧がない場合やマッチしなかった場合には nil を返し ます。

...かった場合には nil を返し
ます。

//emlist[例][ruby]{
/(.)(.)/ =~ "ab"
p Regexp.last_match # => #<MatchData:0x4599e58>
p Regexp.last_match(0) # => "ab"
p Regexp.last_match(1) # => "a"
p Regexp.last_match(2) # => "b"
p Regexp.last_match(3) # => nil
//}

正規表現全体...
...
R
egexp.last_match はnil を返すため、
l
ast_match[1] の形式では例外 NoMethodError が発生します。
対して、last_match(1) は nil を返します。

//emlist[例][ruby]{
str = "This is Regexp"
/That is Regexp/ =~ str
p Regexp.last_match # => nil
begin

p Regexp.last_match[1...
...] # 例外が発生する
r
escue
puts $! # => undefined method `[]' for nil:NilClass
end
p Regexp.last_match(1) # => nil
//}

@param nth 整数を指定します。
整数 nth が 0 の場合、マッチした文字列を返します。それ以外では、nth 番目の括弧にマッチした...

MatchData#offset(n) -> [Integer, Integer] | [nil, nil] (9314.0)

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

...ットの配列 [start, end] を返
します。

//emlist[例][ruby]{
[ self.begin(n), self.end(n) ]
//}

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

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

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

@see MatchData#begin, MatchData#end...
...指定した場合に発生します。

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

MatchData#offset(name) -> [Integer, Integer] | [nil, nil] (9314.0)

name という名前付きグループに対応する部分文字列のオフセットの配列 [start, end] を返 します。

...列 [start, end] を返
します。

//emlist[例][ruby]{
[ self.begin(name), self.end(name) ]
//}

と同じです。nameの名前付きグループにマッチした部分文字列がなければ
[nil, nil] を返します。

@param name 名前(シンボルか文字列)

@raise IndexError 正規...
.../emlist[例][ruby]{
/(?<year>\d{4})年(?<month>\d{1,2})月(?:(?<day>\d{1,2})日)?/ =~ "2021年1月"
p $~.offset('year') # => [0, 4]
p $~.offset(:year) # => [0, 4]
p $~.offset('month') # => [5, 6]
p $~.offset(:month) # => [5, 6]
p $~.offset('day') # => [nil, nil]
p $~.offset('century'...
...) # => `offset': undefined group name reference: century (IndexError)
//}

@see MatchData#begin, MatchData#end...
...) # => `offset': undefined group name reference: century (IndexError)
//}

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

絞り込み条件を変える

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

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

...ば nil を返します。

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

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

//emlist[例][ruby]{
/(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...

OptionParser#accept(klass, pat = /.*/) {|str| ...} -> () (3412.0)

OptionParser.accept と同様ですが、 登録したブロックはレシーバーに限定されます。

...Parser.accept と同様ですが、
登録したブロックはレシーバーに限定されます。

@param klass クラスオブジェクトを与えます。

@param pat match メソッドを持ったオブジェクト(Regexp オブジェクトなど)を与えます。

//emlist[例][ruby]{
r
eq...
...uire "optparse"
r
equire "time"

opts = OptionParser.new
opts.accept(Time) do |s,|
begin

Time.parse(s) if s
r
escue
r
aise OptionParser::InvalidArgument, s
end
end

opts.on("-t", "--time [TIME]", Time) do |time|
p time.class # => Time
end

opts.parse!(ARGV)
//}...

OptionParser.accept(klass, pat = /.*/) {|str| ...} -> () (3412.0)

オプションの引数を文字列から Ruby のオブジェクトに変換するための ブロックを登録します。すべての OptionParser インスタンスに共通です。

...ンの引数を文字列から Ruby のオブジェクトに変換するための
ブロックを登録します。すべての OptionParser インスタンスに共通です。

ブロックには、文字列として与えられるオプションの引数から klass のインスタンスを生成...
...
klass のインスタンスに変換されてから、OptionParser#on メソッドで登録したブロックに渡されます。

//emlist[][ruby]{
r
equire "optparse"
r
equire "time"

OptionParser.accept(Time) do |s,|
begin

Time.parse(s) if s
r
escue
r
aise OptionParser::InvalidArgume...
...ts = OptionParser.new

opts.on("-t", "--time [TIME]", Time) do |time|
p time.class #=> Time
end

opts.parse!(ARGV)
//}

いくつかのクラスに対しては変換用のブロックがデフォルトで登録されて
います。OptionParser#on を参照して下さい。

@param klass クラ...