Ruby正则表达式问题

Ruby正则表达式问题,ruby,regex,Ruby,Regex,这是我的节目: contact_data = [ ["joe@email.com", "123 Main st.", "555-123-4567"], ["sally@email.com", "404 Not Found Dr.", "123-234-3454"] ] ("Joe Smith").downcase #=> "joe smith" contact_data[0][0].slice(0..2) #=> "joe" ("Joe Smith").downcase

这是我的节目:

contact_data = [
  ["joe@email.com", "123 Main st.", "555-123-4567"],
  ["sally@email.com", "404 Not Found Dr.", "123-234-3454"]
]

("Joe Smith").downcase #=> "joe smith"
contact_data[0][0].slice(0..2) #=> "joe"

("Joe Smith").downcase =~ /contact_data[0][0].slice(0..2)/ #=> nil

为什么我的正则表达式不显示匹配项?

您不能在这样的正则表达式中嵌入代码

如果这样做有效,Ruby怎么可能知道这个正则表达式

x = 3
/x/
。。。是否应该匹配
3
或文本字符
x
?如果在局部范围中定义了变量
x
,如何编写正则表达式来匹配简单字符
x

如果要将数据嵌入正则表达式中,则需要更加明确。使用
#{}
插入值,就像使用字符串一样:

/#{contact_data[0][0].slice(0..2)}/

您不能在这样的正则表达式中嵌入代码

如果这样做有效,Ruby怎么可能知道这个正则表达式

x = 3
/x/
。。。是否应该匹配
3
或文本字符
x
?如果在局部范围中定义了变量
x
,如何编写正则表达式来匹配简单字符
x

如果要将数据嵌入正则表达式中,则需要更加明确。使用
#{}
插入值,就像使用字符串一样:

/#{contact_data[0][0].slice(0..2)}/

谢谢你的帮助!值得一提的是,您可以使用:Regexp.new(contact_data[0][0].slice(0..2))#=>/joe/`,或者更好。谢谢您的帮助!值得一提的是,您可以使用):Regexp.new(contact_data[0][0].slice(0..2))#=>/joe/`,或者,有时更好。请注意,
“joe Smith”
周围不需要括号。如果不确定何时需要括号,请在不使用括号的情况下执行表达式。虽然不是100%,但如果表达式仍然有效,则可能不需要它们。另外,如果您不知道不同形式的,以下所有返回都将返回
“joe”
联系人数据[0][0][0..2]
联系人数据[0][0][0…3]
联系人数据[0][0,3][/code>。请注意,您不需要在
“joe Smith”
周围加括号。如果不确定何时需要括号,请在不使用括号的情况下执行表达式。虽然不是100%,但如果表达式仍然有效,则可能不需要它们。此外,如果您不知道不同形式的,则以下所有返回都将返回
“joe”
联系人数据[0][0][0..2]
联系人数据[0][0][0…3]
联系人数据[0][0,3]
联系人数据[0][0][3}/.