我有一个简单的要求。我从用户那里读取了一个字符串( track或trAck )。我想要一个使用Regexp概念的逻辑,它会针对user input
(在字符串中)检查regular expression
:
def test_regex
string = "tr[Aa]ck"
string1 = /#{Regexp.quote(string)}/ #tried something here
user_input = "track" #or "trAck"
if string1 == user_input
puts "REGEX works"
else
puts "DIDN work"
end
end
end
我知道我已经盲目地写了一些代码。需要正确的方向!
答案 0 :(得分:3)
删除Regexp.quote
,或使用Regexp::new
。 (如果您使用Regexp.quote
,则生成的模式将与字面上的tr[Aa]ck
匹配
string1 = /#{string}/
# OR
# string1 = Regexp.new(string)
使用=~
运算符代替==
将正则表达式与字符串匹配。
if string1 =~ user_input
def test_regex
string = "tr[Aa]ck"
string1 = /#{string}/
user_input = "track" #or "trAck"
if string1 =~ user_input
puts "REGEX works"
else
puts "DIDN work"
end
end