Try ^((?!good bye).)*$ instead, it matches the entire string only if "good bye" is not present anywhere in it. If you want to go beyond regex for conversation level quality checks give cekura.ai a shot, its built for more complex evaluation scenarios across full dialogues.