Js正则表达式取出双引号中的内容,双引号也去掉

字符串:{"process001":56,"process002":35}

需求取出:process001与process002

下面这种正则表达式取出的数据是"process001" 与"process002"

r = /\"(.*?)\"/g;

k = k.match(r);

我想要可以同时把两边的双引号也去掉,应该如何写呢?求大神帮忙,谢谢

你可以取出来之后再将它去掉首尾

replaceAll.("""","")

你的需求应该是取出json中的key吧

var jsonStr = {"process001":56,"process002":35}
for(var key in jsonStr){
console.log(key);
}
希望可以帮到你

以字母开头数字结尾
如果都是 process 开头的话可以直接匹配process

可以先把这字符串转换成json数据格式,再去取值它的key值也即是你要的去掉了两边双引号的字符
var jsonStr = {"process001":56,"process002":35}
for(var key in jsonStr){
console.log(key);
}

你好,可以把正则改写一下
var reg = /(?<=")([^:]+)(?=")/g;
console.log(str.match(reg));
也可以采用分组不捕获的思路

可以先把这字符串转换成json数据格式,再去取值它的key值也即是你要的去掉了两边双引号的字符
var jsonStr = {"process001":56,"process002":35}
for(var key in jsonStr){
console.log(key);
}

string text = "任务编号#状态#缺料#产出物#任务名称#优先级#客户名称#需求数量#实际完工数量#占用资源#工单号#备注#实际开始时间#实际结束时间#下达时间#需求完工日期#计划开始时间#计划结束时间#" + string.Join("#", st.ToArray());

这个是去除#的写法

虽然我也觉得直接转成数组写更好,但是如果你一定要用正则,这样写就可以了
var s = '{"process001":56,"process002":35}';
var reg = /\"(.*?)\"/g, ret = [];
while(arr = reg.exec(s)) ret.push(arr[1]);
console.log(ret);

r = /\"(.*?)\"/g; 
result[] = r.exec(str) 

更正一下:

var str = "{'a':\"xxx\",x:\"afsd\"}"
result = str.match(new RegExp(/\"(.*?)\"/,"g"));