2 dbmonths dbmonths 于 2016.03.08 12:35 提问

正则表达式分割数据问题,谢谢

[{gold,100},{goods,40101,30}]

如果是[{gold,100}]这种格式的,那么我用var exp:RegExp = /{(.*?),(.*?)}/g;这个表达式就可以,但是后面还有3项的,麻烦高手给处理下,谢谢

6个回答

caozhy
caozhy   Ds   Rxr 2016.03.08 12:41

这个是标准的json,用json解析器而不是正则更简单。

dbmonths
dbmonths   2016.03.08 12:53

麻烦用正则,谢谢,我这是as3的代码

showbo
showbo   Ds   Rxr 2016.03.08 13:54
 取出{}的内容后再split下


    var s = '[{gold,100},{coin,30000},{wood,30000},{food,30000},{goods,40101,30},{goods,42203,5},{goods,32001,5}]'
    var exp = /{([^\}]+)}/g,arr;
    while (m = exp.exec(s)) {
        arr = m[1].split(',');
        console.log(arr)
    }
dbmonths
dbmonths   2016.03.08 13:57

首先谢谢你,但是我不想那样,我想直接根据obj.length判断是2位还是3位的,可以吗?

 "obj"  [] (@5c1d159)   
    [0] "{wood,30000}"  
    [1] "wood"  
    [2] "30000" 
    index   25 [0x19]   
    input   "[{gold,100},{coin,30000},{wood,30000},{food,30000},{goods,40101,30},{goods,42203,5},{goods,32001,5}]"  
    length  3   
"obj.length"    3   

dbmonths
dbmonths   2016.03.08 15:15

麻烦正则表达式高手给看看,谢谢

dbmonths
dbmonths   2016.03.08 15:19

在线等,紧急的,谢谢大家

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!