# File lib/uri_template/rfc6570/expression.rb, line 169 def generate_hash_extractor(max_length) source = regex_builder source.push('\\A') source.escaped_separator source.capture do source.character_class('+').reluctant end source.group do source.escaped_pair_connector source.capture do source.character_class(max_length,0).reluctant end end.length('?') source.lookahead do source.push '\\z' source.push '|' source.escaped_separator source.push '[^' source.escaped_separator source.push ']' end return Regexp.new( source.join , Utils::KCODE_UTF8) end