【发布时间】:2017-11-01 22:29:40
【问题描述】:
我想不区分大小写地匹配我数组中的一个字符串TOKENS,它位于另一个字符串的开头,后跟一个空格或行尾。
我的令牌数组如下所示:
2.4.0 :013 > TOKENS = ["m", "o"]
=> ["m", "o"]
当我尝试匹配数组中的每个元素时,它会挑选出错误的结果:
2.4.0 :009 > data_col = ["M", "b", "Mabc", "abc m b"]
=> ["M", "b", "Mabc", "abc m b"]
...
2.4.0 :015 > data_col.select{|string| string =~ /^[#{Regexp.union(TOKENS)}]([[:space:]]|$)/i }
=> ["M", "b"]
这匹配“M”和“b”条目,即使“b”没有出现在我的 TOKENS 列表中。如何修改我的正则表达式,以便只匹配正确的值“M”?
我使用的是 Ruby 2.4。
【问题讨论】: