/* * call-seq: * Regexp.last_match => matchdata * Regexp.last_match(fixnum) => str * * The first form returns the <code>MatchData</code> object generated by the * last successful pattern match. Equivalent to reading the global variable * <code>$~</code>. The second form returns the nth field in this * <code>MatchData</code> object. * * /c(.)t/ =~ 'cat' #=> 0 * Regexp.last_match #=> #<MatchData:0x401b3d30> * Regexp.last_match(0) #=> "cat" * Regexp.last_match(1) #=> "a" * Regexp.last_match(2) #=> nil */ static VALUE rb_reg_s_last_match(argc, argv) int argc; VALUE *argv; { VALUE nth; if (rb_scan_args(argc, argv, "01", &nth) == 1) { return rb_reg_nth_match(NUM2INT(nth), rb_backref_get()); } return match_getter(); }