class Regexp::MatchLength

def initialize(exp, opts = {})

def initialize(exp, opts = {})
  self.exp_class = exp.class
  self.min_rep = exp.repetitions.min
  self.max_rep = exp.repetitions.max
  if (base = opts[:base])
    self.base_min = base
    self.base_max = base
    self.reify = ->{ '.' * base }
  else
    self.base_min = opts.fetch(:base_min)
    self.base_max = opts.fetch(:base_max)
    self.reify = opts.fetch(:reify)
  end
end