我有一个简单的要求。我从用户那里读取了一个字符串(track 或 trAck)。我想要一个使用 Regexp 概念的逻辑,它将根据 正则表达式
(在字符串中)检查此 user input
:
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
我知道我盲目地写了一些代码。需要正确的方向!
最佳答案
删除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
关于ruby - 在 Ruby 中评估字符串中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25505131/