    # File lib/graphviz/core_ext.rb, line 32
      def each_except( e, &b )
        key_table = (e[:key]||[]).clone.delete_if {|i| i.kind_of? Regexp }
        key_regexp = (e[:key]||[]).clone.delete_if {|i| key_table.include? i }.map {|i| i.to_s }.join("|")

        value_table = (e[:value]||[]).clone.delete_if {|i| i.kind_of? Regexp }
        value_regexp = (e[:value]||[]).clone.delete_if {|i| value_table.include? i }.map {|i| i.to_s }.join("|")

        self.each do |k, v|
          yield( k, v ) unless (key_table.size > 0 and key_table.include?(k)) or (key_regexp.size > 0 and k.to_s.match(key_regexp)) or (value_table.size > 0 and value_table.include?(v)) or (value_regexp.size > 0 and v.to_s.match(value_regexp))
        end
      end