-1

从数组["EZY4567", "C038", "BA01618"]中,我想匹配[A-Z]以长度大于 4 或长度为 7 开头的模式(任何人都可以)。我试过了scanmatch但他们正在抛出错误。

["EZY4567", "C038", "BA01618"].each.scan(/^[A-Z].+{4,7}/) #=> undefined method scan
["EZY4567", "C038", "BA01618"].each.match(...) #=> undefined method

当我尝试使用 Rubular 时,该模式^[A-Z](.){4,}似乎奏效了。但这在 irb 中不起作用

 ["EZY4567", "C038", "BA01618"].to_s.scan(/^[A-Z](.){4,}/) #=> returns empty array
4

1 回答 1

1

Enumerable#grep应该管用:

["EZY4567", "C038", "BA01618"].grep /^[A-Z](.){4,}/
#=> ["EZY4567", "BA01618"]
于 2013-09-16T13:25:19.687 回答