7 Stimmen

Dynamische Regex in Ruby

Ich versuche, einen Weg zu finden, damit ich dynamisch ein Regexp-Objekt aus einer Zeichenfolge (aus der Datenbank) erstellen und dann verwenden, um eine andere Zeichenfolge zu filtern. Dieses Beispiel ist, um Daten aus einer Git-Commit-Nachricht zu extrahieren, aber in der Theorie jede gültige regexp könnte in der Datenbank als eine Zeichenfolge vorhanden sein.

Was geschieht

>> string = "[ALERT] Project: Revision ...123456 committed by Me <me@me.com>\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

Was ich erreichen will

>> string = "[ALERT] Project: Revision ...123456 committed by Me <me@me.com>\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"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X