# File lib/textquery/textquery.rb, line 27
  def eval(text, opt)
    query = RegExp.escape(text_value)
    qkey  = query + opt[:delim]

    if not @@regex[qkey]
      fuzzy = FUZZY.match(query)

      q = []
      q.push "."                                    if fuzzy[2]
      q.push fuzzy[1].nil? ? "*" : "{#{fuzzy[1]}}"  if fuzzy[2]
      q.push fuzzy[3]
      q.push "."                                    if fuzzy[4]
      q.push fuzzy[5].nil? ? "*" : "{#{fuzzy[5]}}"  if fuzzy[4]
      q = q.join

      regex = "(^|#{opt[:delim]})#{q}(#{opt[:delim]}|$)"

      @@regex[qkey] = RegExp.new(regex, :options => RegExp::IGNORECASE)
      @@regex_case[qkey] = RegExp.new(regex, nil)
    end

    if opt[:ignorecase]
      not @@regex[qkey].match(text).nil?
    else
      not @@regex_case[qkey].match(text).nil?
    end
  end