Ruby 正则表达式问题
Ruby Regular Expression issue
这是我的程序:
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)}/
这是我的程序:
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)}/