正则表达式将一系列字母数字和数字字符捕获到数组中

时间:2018-05-14 08:58:01

标签: javascript regex

我不擅长正则表达式模式,我可以使用{(。*?)}将所有内容都放在卷括号内但是我不能拆分它们。

假设我有一个像这样的字符串

{y12.13bb15.16}

如何将其捕捉到数组中

['y', '12.13', 'bb', '15.16']

虽然最终我想创建一个像这样的对象:

{"y": 12.13, "bb": 15.16}

1 个答案:

答案 0 :(得分:0)

您可以使用([\d\.]+|[^\d{}]+)

var rx = /([\d\.]+|[^\d{}]+)/g
s = '{y12.13bb15.16}'

k = s.match(rx)
console.log(k)

// And now to convert to your desired object
var final = {}

for (i = 0; i < k.length; i += 2) {
  final[k[i]] = k[i+1]
}

console.log(final)