Separating sets of strings by finding matching patterns is almost always hard