Although they can be mixed, I suppose stating that there can be any number of ATCG's may mislead. Now that I read your post, I think I may have been getting hung up on that myself. Other QC regex's applied ensure that the string contains only the allowable characters as a class. The current methodology I've applied is to get all relevant QC expresions from the database and try each expresion in turn against the string. Currently there is no ordering, and I don't think that should matter, if all pass. But I could add it.
So the real factor is only whether or not there are multiple occurances of more than 2 of the allowable class of alternate codes.