Mesclar vários regexes para um único

Eu tenho vários regexes (na verdade, vários milhares), e devo verificar se uma string corresponde a qualquer uma dessas expressões regulares. Não é muito eficiente, então gostaria de mesclar todos esses regexes como um único regex.

Por exemplo, se você tiver essas expressões regulares:

'foo * bar''foo * zip''zap * bar'

Eu gostaria de obter algo como 'foo * (bar | zip) | zap * bar'.

Existe algum algoritmo, biblioteca ou ferramenta para fazer isso?

questionAnswers(4)

yourAnswerToTheQuestion