если надо просто проверить, содержатся ли заданные шаблоны в строке, то просто в цикле прогнать все шаблоны и сравнить индекс с -1.
если точно известно, что все шаблоны следуют один за другим, то можно попробовать так:
C++ (Qt)
QStringList patterns;
QRegExp re(patterns.join(".*")); // можно еще соединять с помощью (?:.*) для визуального отделения всех шаблонов
re.setMinimal(true);