Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Stringクラス > match

instance method String#match

match(regexp, pos = 0) -> MatchData | nil[permalink][rdoc]
match(regexp, pos = 0) {|m| ... } -> object

regexp.match(self, pos) と同じです。 regexp が文字列の場合は、正規表現にコンパイルします。 詳しくは Regexp#match を参照してください。

例: regexp のみの場合

'hello'.match('(.)\1')      # => #<MatchData "ll" 1:"l">
'hello'.match('(.)\1')[0]   # => "ll"
'hello'.match(/(.)\1/)[0]   # => "ll"
'hello'.match('xx')         # => nil
例: regexp, pos を指定した場合

'hoge hige hege bar'.match('h.ge', 0)     # => #<MatchData "hoge">
'hoge hige hege bar'.match('h.ge', 1)     # => #<MatchData "hige">
例: ブロックを指定した場合

'hello'.match('(.)\1'){|e|"match #{$1}"}  # => "match l"
'hello'.match('xx'){|e|"match #{$1}"}     # マッチしないためブロックは実行されない

[SEE_ALSO] Regexp#match, Symbol#match