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

Ruby 从数组中获取所有三位数并存储在新数组中,ruby,regex,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] 只有regexp是这样的:/^\d{3}$/。但是,如果您想要一个表达式,它将返回一个与该表达式匹配的值数组,则可以这样做:my|u数

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

输入:

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]

只有regexp是这样的:
/^\d{3}$/
。但是,如果您想要一个表达式,它将返回一个与该表达式匹配的值数组,则可以这样做:
my|u数组。选择{num | num.to_.match(/^\d{3}$/)}


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

为什么使用数字上的正则表达式?您可以选择小于1000且大于99的所有数字

my_array.select { |n| n<1000 && n>99 }
my|u array.select{n|n99}

你的问题是什么?你的句子令人费解。正则表达式如何匹配数字?我只想要上面数组中的三位数字,如111 456 787 789 784 234 456 235 456不客气kirankumar,我很高兴能帮上忙。谢谢你Taylor,但我用了这个,我在整个数组中得到了所有三个元素。如以下11145445674787454789658784234456465458235456。但我只需要三位数。谢谢你,泰勒。这是最好的一个