J'essaie de trouver un moyen de créer dynamiquement un objet regexp à partir d'une chaîne (provenant de la base de données), puis de l'utiliser pour filtrer une autre chaîne. Cet exemple consiste à extraire des données d'un message de validation git, mais en théorie toute expression rationnelle valide peut être présente dans la base de données sous la forme d'une chaîne.Regex dynamique en Ruby
Qu'est-ce qui se passe
>> string = "[ALERT] Project: Revision ...123456 committed by Me <[email protected]>\n on 2009- 07-28 21:21:47\n\n Fixed typo\n"
>> r = Regexp.new("[A-Za-z]+: Revision ...[\w]+ committed by [A-Za-z\s]+")
>> string[r]
=> nil
Ce que je veux arriver
>> string = "[ALERT] Project: Revision ...123456 committed by Me <[email protected]>\n on 2009- 07-28 21:21:47\n\n Fixed typo\n"
>> string[/[A-Za-z]+: Revision ...[\w]+ committed by [A-Za-z\s]+/]
=> "Project: Revision 123456 committed by Me"
Parfait, merci - je savais que je devais faire quelque chose de mal subtilement. – davidsmalley