使用Rails 5和Ruby 2.4。我不明白为什么以下是匹配的。我有一个字符串数组,我想看看我的字符串是否匹配数组中的任何字符串,所以我尝试了这个
2.4.0 :021 > SEPARATOR_TOKENS = ["-"]
=> ["-"]
2.4.0 :022 > data = "W40"
=> "W40"
2.4.0 :023 > data =~ /[#{Regexp.union(SEPARATOR_TOKENS)}]/
=> 0
即使我的字符串中没有“ - ”,它也会报告匹配项。我该纠正这个吗?注意,我已经从根本上修改了这个例子,所以使用“.include?”不是一个选项,因为我正在做的事情最终将包括正则表达式。
答案 0 :(得分:1)
Regexp.union
已生成正则表达式,您无需使用/.../
试试这个:
data =~ Regexp.union(SEPARATOR_TOKENS)