我需要一个正则表达式,它只匹配以下数组中的三位数字。我需要结果是一个新的数组。获取阵列中的所有三位数字并存储在新阵列中
输入:
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]
我需要一个正则表达式,它只匹配以下数组中的三位数字。我需要结果是一个新的数组。获取阵列中的所有三位数字并存储在新阵列中
输入:
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]
为什么要在数字上进行正则表达式?您可以选择所有小于1000且大于99的数字。
my_array.select { |n| n<1000 && n>99 }
就在正则表达式是这样的:/^\d{3}$/
。但是如果你想要一个表达式来返回一个匹配这个表达式的值的数组,那么它会这样做:my_array.select{ |num| num.to_s.match(/^\d{3}$/) }
。
看看RegExr了解更多关于正则表达式。
谢谢泰勒 – kirankumar
不客气kirankumar,我很高兴我能帮上忙。 –
谢谢泰勒,但我使用这一个,我得到了所有阵列中的所有三个元素。像下面的111,454,456,748,787,454,789,658,784,234,456,465,458,235,456。但我只需要三位数字。 – kirankumar
您的问题是? – sawa
你的句子是难以理解的。 – sawa
正则表达式如何匹配数字? – sawa