Regular exressions and arguments


#1

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…


#2

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.


#3

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.