我需要一个只匹配以下数组中三位数字的正则表达式。我需要结果是一个新数组。
输入:
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]
答案 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以了解有关正则表达式的更多信息。