(?!regex1)(?!regex2)(?!regex3) #### my $andedRegexes = Regexp::Assemble->new; $andedRegexes->add( 'regex1' ); $andedRegexes->add( 'regex2' ); $andedRegexes->add( 'regex3' ); #regex is now 'regex(1|2|3)' #which is more efficient #### $negatedAndedRegexes = (?=qr($andedRegexes))