instance method
Regexp#named_captures
() -> ::Hash[::String, ::Array[::Integer]]
named_captures → hash
re.c
View on GitHub ↗
static VALUE
rb_reg_named_captures(VALUE re)
{
regex_t *reg = (rb_reg_check(re), RREGEXP_PTR(re));
VALUE hash = rb_hash_new_with_size(onig_number_of_names(reg));
onig_foreach_name(reg, reg_named_captures_iter, (void*)hash);
return hash;
}
Returns a hash representing named captures of self (see Named Captures):
-
Each key is the name of a named capture.
-
Each value is an array of integer indexes for that named capture.
Examples:
Example
/(?<foo>.)(?<bar>.)/.named_captures # => {"foo"=>[1], "bar"=>[2]} /(?<foo>.)(?<foo>.)/.named_captures # => {"foo"=>[1, 2]} /(.)(.)/.named_captures # => {}