匹配数组和单词

时间:2016-02-25 18:56:24

标签: ruby regex

我在日志文件中有以下行:

"\\\"steps\\\"=\\u003e[5762.0, 0.0], \\\"minutes_sedentary\\\"=\\u003e[1390.0, 1440.0], \\\"minutes_lightly_active\\\"=\\u003e[23.0, 0.0], \\\"minutes_fairly_active\\\"=\\u003e[27.0, 0.0]}"

最终结果是一个散列或数组,如下所示:

{
  "steps": [5762.0, 0.0],
  "minutes_sedentary": [1390.0, 1440.0],
  "minutes_lightly_active": [23.0, 0.0],
  "minutes_fairly_active": [27.0, 0.0]
}

我有一个真正的hacky解决方案,直到我有所有的话,然后gsub正在寻找数字,但它已经错过了一些边缘情况(即其中十进制值的长度可能不同)。我假设有一种更好的方法,但使用String#match未成功。

1 个答案:

答案 0 :(得分:1)

此模式在两组中捕获您想要的元素。

(\w+).*?(\[.*?\])

You can test it here