class Regexp::MatchLength

def each(opts = {})

def each(opts = {})
  return enum_for(__method__, opts) unless block_given?
  limit = opts[:limit] || 1000
  yielded = 0
  (min..max).each do |num|
    next unless include?(num)
    yield(num)
    break if (yielded += 1) >= limit
  end
end