Interpolierter Regulärer Ausdruck

Reguläre Ausdrücke sind das Schweizer Taschenmesser in der Ruby Werkzeugkiste. Zum Beispiel werden sie verwendet, um gesuchte Wörter zu ersetzen:

"Java ist eine wunderbare Sprache.".gsub(/Java/, 'Ruby')
# => "Ruby ist eine wunderbare Sprache."

Aber wenn das Suchmuster dynamisch funktionieren soll, bietet die Ruby Prozent Notation auch interpolierte Reguläre Ausdrücke an. Das Beispiel von oben noch einmal als interpolirter Regulärer Ausdruck (regexp):

language = 'Java'
assert = "#{language} ist eine wunderbare Sprache."
assert.gsub(/#{language}/, 'Ruby')
# => "Ruby ist eine wunderbare Sprache."

Das Interpolieren ist nichts Anderes als, eine Variable umgeben von gehashten, geschweiften Klammern in einen Regulären Ausdruck zu injiziieren.
Eine weiterer Regulärer Ausdruck, der die Ruby minor Version überprüft, könnte folgendermaßen aussehen:

version = "2.2"
ruby = "ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]"
ruby.scan /^ruby\s*(#{version})/ # => [["2.2"]]

Dieses Mal wird ein String sofort in eine regexp interpoliert.