使用正则表达式和Ruby在字符串上选取两个整数

使用正则表达式和Ruby在字符串上选取两个整数,ruby,regex,Ruby,Regex,我有一个字符串,想得到两个整数保存在一个数组中 使用此选项: x= /[0-9]+/.match(dimensions) dimensions[ /[0-9]+[ ]+/ ] = "" y= dimensions 取第一个替换件,然后选择第二个 但是,如果字符串只有一个数字,这就不好用了,数组中最好的存储是count after 有什么办法可以让这更容易些吗 示例字符串: 5 9 5 sadasd 5 9 assasdadsaas 也许使用正则表达式捕获会更好 >> dim

我有一个字符串,想得到两个整数保存在一个数组中

使用此选项:

x= /[0-9]+/.match(dimensions)
dimensions[ /[0-9]+[ ]+/ ] = ""
y= dimensions
取第一个替换件,然后选择第二个

但是,如果字符串只有一个数字,这就不好用了,数组中最好的存储是count after

有什么办法可以让这更容易些吗

示例字符串:

5 9

5

sadasd 5 9  assasdadsaas

也许使用正则表达式捕获会更好

>> dimensions = "asdf 11 22"
=> "asdf 11 22"
>> m = dimensions.match(/([0-9]+)[ ]*([0-9]*)/)
=> #<MatchData "11 22" 1:"11" 2:"22">
>> m.captures
=> ["11", "22"]
>>
?> dimensions = "asdf 11"
=> "asdf 11"
>> m = dimensions.match(/([0-9]+)[ ]*([0-9]*)/)
=> #<MatchData "11" 1:"11" 2:"">
>> m.captures
=> ["11", ""]
>dimensions=“asdf 11 22”
=>“asdf 11 22”
>>m=尺寸。匹配(/([0-9]+)[]*([0-9]*)/)
=> #
>>m
=> ["11", "22"]
>>
?>尺寸=“asdf 11”
=>“asdf 11”
>>m=尺寸。匹配(/([0-9]+)[]*([0-9]*)/)
=> #
>>m
=> ["11", ""]

很抱歉,但您到底想做什么?捕获很好,使用了维度[0]维度[1]但失败