我有一个像日志条目格式的长字符串,并希望从它获得几个捕获,并将它们存储在不同的变量中。
我知道Ruby将前9个捕获存储到变量$1...$9中,它是否也将其他捕获存储在$10...$99中?
如果没有,有什么简单的方法可以做到这一点呢?
发布于 2012-10-22 00:19:39
是的,确实如此。
"a2c4d7l4l0j4h9h7".gsub(/(\w)(\d)(\w)(\d)(\w)(\d)(\w)(\d)(\w)(\d)(\w)(\d)(\w)(\d)(\w)(\d)/) do
$12
end
#=> "4"发布于 2012-10-22 00:19:11
String#match返回包含捕获数组的MatchData对象。
m = Regexp.new('(.)' * 20).match('The quick brown fox jumps over the lazy dog')
m[12]
# => "r" 虽然12美元也可以:
> $12
# => "r" https://stackoverflow.com/questions/12999606
复制相似问题