Nous avons utilisé regex pour notre exigence de grammaire. Cependant, il y a environ 20+ modèles qui doivent être supportés et le maintien de RegEx est devenu très difficile quand les patterns ont commencé à devenir récursifs. Nous avons essayé de migrer vers ANTLR et nous avons examiné les deux points critiques suivants.RegEx ou Antlr, lequel devrait être le choix?
Performances Les performances semblent être un problème lorsque certaines des expressions ont été migrées. RegEx avec l'assemblage compilé est environ 2x ou 3x plus rapide pour certaines expressions.
Manageabilité La grammaire ANTLR semble être beaucoup plus facile à gérer et à développer. Accueillir de nouvelles expressions/constructions était beaucoup plus simple que RegEx. Est-ce que quelqu'un a une expérience similaire d'une telle migration? Devrions-nous le regarder ou travailler avec RegEx?
Nous utilisons complètement .NET et Visual Studio 2008 comme environnement de développement. Le contexte des expressions sera plus à l'appui de diverses expressions (mathématiques, fonctions de base de données, fonctions personnalisées, etc.). Nous sommes à un point où les expressions sont imbriquées et deviennent vraiment incontrôlables. – sraj