Quel est le moyen le plus rapide de vérifier si une chaîne correspond à une expression régulière dans Ruby?
Mon problème est que je dois "egrep" à travers une énorme liste de chaînes pour trouver celles qui correspondent à une expression rationnelle donnée au moment de l'exécution. Je me soucie seulement de savoir si la chaîne correspond à l'expression rationnelle, pas où elle correspond, ni quel est le contenu des groupes correspondants. J'espère que cette hypothèse peut être utilisée pour réduire le temps que mon code passe à faire correspondre les expressions rationnelles.
Je charge l'expression rationnelle avec
pattern = Regexp.new(ptx).freeze
J'ai trouvé que string =~ pattern
c'est légèrement plus rapide que string.match(pattern)
.
Existe-t-il d'autres astuces ou raccourcis qui peuvent être utilisés pour rendre ce test encore plus rapide?