Estoy tratando de encontrar una forma de permitirme crear dinámicamente un objeto regexp a partir de una cadena (tomada de la base de datos) y luego usar eso para filtrar otra cadena. Este ejemplo es para extraer datos de un mensaje de confirmación de git, pero en teoría cualquier expresión regular válida podría estar presente en la base de datos como una cadena.Dynamic Regex en Ruby
¿Qué ocurre
>> 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
Lo que quiero que suceda
>> 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"
perfecto, gracias - Yo sabía que tenía que estar haciendo algo mal sutilmente. – davidsmalley