我不擅长正则表达式模式,我可以用 {(.*?)} 将所有内容都放在大括号内,但我无法拆分它们。
假设我有一个这样的字符串
{y12.13bb15.16}
我如何像这样将它捕获到一个数组中:
['y', '12.13', 'bb', '15.16']
虽然最后基本上我想创建一个这样的对象:
{"y": 12.13, "bb": 15.16}
您可以使用 ([\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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句