我对 ruby 比较陌生,我试图找出基于正则表达式中的分组从字符串中提取多个值的“ruby”方法。我正在使用 ruby 1.8(所以我认为我没有命名捕获)。
我可以匹配然后分配 $1,$2 - 但我觉得必须有一种更优雅的方式(毕竟这是 ruby)。
我也有一些使用 grep 的东西,但它看起来很hackish,因为我使用的是一个数组并且只是抓住了第一个元素:
input="FOO: 1 BAR: 2"
foo, bar = input.grep(/FOO: (\d+) BAR: (\d+)/){[$1,$2]}[0]
p foo
p bar
我尝试过在线搜索并浏览ruby 文档,但无法找到更好的答案。