Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从一个变量中得到三个变量_Javascript_Regex - Fatal编程技术网

Javascript 从一个变量中得到三个变量

Javascript 从一个变量中得到三个变量,javascript,regex,Javascript,Regex,我有个问题。。。 我有以下变量类型:字符串: {friendCount:5,pnCount:0,allCount:5} 我的目标是让friendCount、pnCount和allCount有3个变量,我不知道如何做到这一点。这看起来像一个对象,但它只是一个字符串 我想我必须用正则表达式或者别的什么来做,但是我没有进一步的想法 字符串中的数字可能介于0到100之间 我希望您能理解我的问题,并能帮助我:如果这是一个字符串,请不要解析它 var str = '{"friendCount":5,"pnC

我有个问题。。。 我有以下变量类型:字符串: {friendCount:5,pnCount:0,allCount:5}

我的目标是让friendCount、pnCount和allCount有3个变量,我不知道如何做到这一点。这看起来像一个对象,但它只是一个字符串

我想我必须用正则表达式或者别的什么来做,但是我没有进一步的想法

字符串中的数字可能介于0到100之间


我希望您能理解我的问题,并能帮助我:

如果这是一个字符串,请不要解析它

var str = '{"friendCount":5,"pnCount":0,"allCount":5}';
var obj = JSON.parse(str);
console.log(obj.friendCount, obj.pnCount, obj.allCount);
如果它已经是一个对象,只需引用它即可

var obj = {"friendCount":5,"pnCount":0,"allCount":5};
console.log(obj.friendCount, obj.pnCount, obj.allCount);
试试这个

var data= {"friendCount":5,"pnCount":0,"allCount":5}

var friendCount = data.friendCount;
var pnCount = data.pnCount;
var allCount = data.allCount;

如果您想要正则表达式,可以这样做:

}

可能存在的副本
var re = /([\w]+)":(\d+)/g; 
var str = '"friendCount":5,"pnCount":0,"allCount":5';
var m;

while ((m = re.exec(str)) !== null) {
    if (m.index === re.lastIndex) {
        re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.