从数组中获取所有三位数字并存储在新数组

时间:2015-04-29 04:24:04

标签: ruby regex

我需要一个只匹配以下数组中三位数字的正则表达式。我需要结果是一个新数组。

输入:

my_array = [111,45456,456,74897,787,45466,789,6587,784,234,456,4658,4587,235,456]

期望的输出:

new_array = [111,456,787,789,784,234,456,235,456]

2 个答案:

答案 0 :(得分:2)

为什么要对数字进行正则表达式?您可以选择小于1000且大于99的所有数字。

my_array.select { |n| n<1000 && n>99 }

答案 1 :(得分:0)

正则表达式如下所示:/^\d{3}$/。但是,如果您希望表达式返回与该表达式匹配的值数组,则可以执行此操作:my_array.select{ |num| num.to_s.match(/^\d{3}$/) }

请查看RegExr以了解有关正则表达式的更多信息。