def matcher(g)
trailing = g ? '(?!'+Regexp::quote(g)+')' : ''
stdtype = stdtype(@type)
if (!stdtype && @type =~ %r"\A:/([^/]+)/\Z" )
stdtype = "#$1"
end
if stdtype.nil?
raise "Error: bad type in Getopt::Declare parameter variable specification near '<#{@name}#{@type}>'\nValid types are:\n" + @@stdtype.keys.inspect
end
stdtype = stdtype.dup
stdtype.gsub!(/\%D/,"(?:#{trailing}\\d)")
stdtype.gsub!(/\%T/,trailing)
unless ( stdtype.sub!("\%F","") )
stdtype = Getopt::Declare::Arg::negflagpat + stdtype
end
return "(?:#{stdtype})"
end