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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
正则切分解析文本数据文件
mport re #正则表达式 mySent = 'This book is the best book.' regEX = re.compile('\\W*') # \\W*表示除了单词数字外的任意字符串 list0fTokens = regEX.split(mySent) 上面也可以写成: mySent = 'This book is the best book.' listOfT...
使用js正则表达式分割内容分别显示
目的:一段文字使用特殊字符表示图片,达到文字和图片嵌套显示的效果 假设后台服务器得到{‘titile’:’标题’,’subtitle’:’小标题’,’content’:’内容’,’last_update_date’:’2016-04-08 21:33’,’pic1’:’’} JS代码: 将content通过pattern正则,content.split(pattern),将
python正则表达式 分割字符串
使用或 标准的正则表达式有小括号,但是python的没有 # -*- coding: utf-8 -*- import sys import re import sys reload(sys) sys.setdefaultencoding( "utf-8" ) if __name__ == '__main__': print(sys.getdefaultencoding())
正则表达式的四大操作(匹配,切割,替换,获取)
正则表达式:用来操作字符串的一些规则。 好处:对字符串的复杂操作变简单。 坏处:阅读性差 特点:将字符串操作的代码用一些符号来表示   组:用小括号标示,每定义一个小括号,就是一个组,而且有自动编号,从1开始。 只要使用组,对应的数字就是使用该组的内容。别忘了,数组要加\\。 (aaa(wwww(ccc))(eee))技巧,从左括号开始数即可。有几个左括号就是几组。     正
关于字符串的分隔,正则表达式
一直认为Java的输入处理起来不方便,当今天看到正则表达式,发现有些问题就可以迎刃而解了,啦啦啦: 下面是我在网上看到的帖子与回帖,稍微整理了一下: 昨天看到有人用 str.split("\\s+") 今天又看到 "420348092".matches("\\d+") "fajsdkfjaskdfj".matches("\\w+"); 请问这些  "//什么的" 是什么东西?
用正则表达进行对每个中文进行匹配而分割
用正则表达进行对每个中文进行匹配而分割 代码如下:/** * */ package com.tgb.spring.pattern;import java.util.regex.Matcher; import java.util.regex.Pattern;/** * @author Administrator * */ public class PatternTest { publ
字符串分割多个空格(用正则)
有的时候待分割的字符串不标准,中间的空格数不固定,需要按照单个空格分割,使用正则表达式的方法是: str.split(\\s{1,});
java 正则表达式高级篇(四种常用的处理方式:匹配 分割 替代 获取)
写个代码真的不容易,希望大家支持一下,纯手工的代码,这次主要是想重新的使用一下正则表达式所以重新的使用了起来,因为正则表达式真的很重要,功能很强大。所以又翻出来看看。
以逗号分割,但是不包含括号内的逗号的正则表达式
首先正则表达式是: ,(?![^()]*+\)) stackoverflow.com/questions/628583/regular-expression-to-split-on-commas-not-enclosed-in-parenthesis 接下来我们来显示解释: ,表示匹配逗号 [^()]*表示除过左括号和右括号的所有字符重复零次或多次; ![^()]*+\)表示除
常见对象_正则表达式的分割功能
package cn.itcast_03; import java.util.Scanner; /* * 分割功能 * String类的public String[] split(String regex) * 根据给定正则表达式的匹配拆分此字符串。 * * 举例: * 百合网,世纪佳缘,珍爱网,QQ * 搜索好友 * 性名:女 * 范围:18-