How about using wildcards like ? and *? So a String without wildcards would be handled as "exact match", but one could then easily filter out controls that begin with a certain String (Button*) or end with it (*n 13) or, for a partial match: *partialmatch*
keep the partial match behaviour but make it an exact match when entered in quotes, i.e. Button 1 vs. "Button 1"