解析红宝石串的重复匹配?

Dog*_*her 4 ruby regex string parsing

也许我只是累了,但我没有看到一个明显的方法来解析这样的字符串中的数字:

some text here, and then 725.010, 725.045, 725.340 and 725.370; and more text
Run Code Online (Sandbox Code Playgroud)

有一件事发生在我身上:将空格分成数组.然后将带有组的正则表达式测试应用于数组中的每个元素.

有更清洁,更简单的方法吗?

Tim*_*ker 5

result = subject.scan(/\d+(?:\.\d+)?/)
Run Code Online (Sandbox Code Playgroud)

这将在字符串中找到整数或小数,并将它们(仍然是字符串)放入数组中result.


Nak*_*lon 5

你需要String#scan:

your_string.scan(/\d\d\d\.\d\d\d/)
Run Code Online (Sandbox Code Playgroud)

将输出匹配数组.