Если вы используете реальные регулярные выражения (те, которые соответствуют регулярным языкам из теории формальных языков, а не каким-то нерегулярным Perl-вещам), то вам повезло, потому что регулярные языки закрыты на объединение , В большинстве языков регулярных выражений pipe (|) - это union. Таким образом, вы должны иметь возможность построить строку (представляющую нужное вам регулярное выражение) следующим образом:
(r1)|(r2)|(r3)|...|(r10000)
где скобки для группировки, не совпадают. Все, что соответствует этому регулярному выражению, соответствует хотя бы одному из ваших исходных регулярных выражений.