Something like that would be a reasonable thing to do:
@text = t
@text =~ x
And it works for non-capturing regexps,
but when we want to capture something
$1 etc. are bound only within the =~ method,
and when the method returns they are
restored to their previous values.
Foo.new(“Hello”) =~ /(e)/ # => 1
$1 # => nil
Is it possible to somehow get =~ like that work,
even if it takes heavy metaprogramming hackery ?