Ruby正则表达式问题

时间:2015-01-10 16:43:43

标签: 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[0][0].slice(0..2)/ #=> nil

为什么我的正则表达式没有显示匹配?

1 个答案:

答案 0 :(得分:4)

您无法在正则表达式中嵌入代码。

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

x = 3
/x/

...应该匹配3或文字字符x?如果您在本地范围内定义了变量x如何编写正则表达式以匹配简单字符x

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

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