class RuboCop::Cop::Style::PerlBackrefs
puts Regexp.last_match(1)
# good
puts $1
# bad
@example
backreferences like $1, $2, etc.
This cop looks for uses of Perl-style regexp match
def autocorrect(node)
def autocorrect(node) lambda do |corrector| backref, = *node parent_type = node.parent ? node.parent.type : nil if %i[dstr xstr regexp].include?(parent_type) corrector.replace(node.source_range, "{Regexp.last_match(#{backref})}") else corrector.replace(node.source_range, "Regexp.last_match(#{backref})") end end end
def on_nth_ref(node)
def on_nth_ref(node) add_offense(node) end