Optimize exclude: use hash tables for non-wildcard patterns.