Forum: Ruby Regular exressions and arguments

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Rick J. (Guest)
on 2008-12-18 17:40
This should be (and probably will be) a simple answer, but if I have the
very basic program of:

#!/usr/bin/ruby

require

arg = ARGV[0]
regex = /"#{arg}"/
regex1 = /Test/

a = "this is a Test"

if regex =~ a
   puts "test works"
else
   puts "test isn't working"
end



With this code, if i inputs ./filename 'Test', how can i get the regex
to be correct? I can only think of using the "#{}" to put this inside
the expression, but this puts the parenthesis around it...
Rick J. (Guest)
on 2008-12-18 17:47
Should have just waited a little longer... figured it out... needed to
use the a = Regex.new(ARGV[0]) command to make it work... Thanks any way
every one.
Jesús Gabriel y Galán (Guest)
on 2008-12-18 18:09
(Received via mailing list)
On Thu, Dec 18, 2008 at 4:39 PM, Rick J. <removed_email_address@domain.invalid> 
wrote:
> Should have just waited a little longer... figured it out... needed to
> use the a = Regex.new(ARGV[0]) command to make it work... Thanks any way
> every one.

You can also use the regex literal, but you need to lose the double
quotes.
Check this:

irb(main):001:0> a = "Test"
=> "Test"
irb(main):002:0> re = /#{a}/
=> /Test/
irb(main):003:0> re = /"#{a}"/
=> /"Test"/

Hope this helps,

Jesus.
This topic is locked and can not be replied to.