Tengo varias expresiones regulares (en realidad varios miles), y debo comprobar si una cadena coincide con cualquiera de estas expresiones regulares. No es muy eficiente, por lo que me gustaría fusionar todas estas expresiones regulares como una sola expresión regular.Combinar varias expresiones regulares en una sola
Por ejemplo, si una tiene estas expresiones regulares:
- 'fu * bar'
- 'fu * zip'
- zap * bar '
me gustaría obtener algo como 'foo * (bar | zip) | zap * bar'.
¿Hay algún algoritmo, biblioteca o herramienta para hacer esto?
Buen primer paso, pero no tiene que optimizarlo a mano: http://www.rexegg.com/regex-optimizations.html –