class RuboCop::Cop::Lint::MixedRegexpCaptureTypes
Do not mix named captures and numbered captures in a Regexp literal because numbered capture is ignored if they’re mixed. Replace numbered captures with non-capturing groupings or named captures.
@example
# bad /(?<foo>FOO)(BAR)/ # good /(?<foo>FOO)(?<bar>BAR)/ # good /(?<foo>FOO)(?:BAR)/ # good /(FOO)(BAR)/
Constants
- MSG
Public Instance Methods
on_regexp(node)
click to toggle source
# File lib/rubocop/cop/lint/mixed_regexp_capture_types.rb, line 27 def on_regexp(node) return if node.interpolation? return if node.each_capture(named: false).none? return if node.each_capture(named: true).none? add_offense(node) end