你好,我有这个字符串["type",[129,167,85,83]]
,我只想提取它:
[129,167,85,83]
使用regexpr
我尝试了以下方法:
var re = new RegExp('",(.*)]');
var r = '["type",[129,167,85,83]]'.match(re);
if (r)
console.log(r);
但这给了我以下结果:
",[129,167,85,83]]
请问我该如何解决?
答案 0 :(得分:2)
不一定是最好的解决方案,但是从您现在所在的位置最快。 Match
产生一个数组-您需要第二项:
var re = new RegExp('",(.*)]');
var r = '["type",[129,167,85,83]]'.match(re);
if (r) console.log(r[1])
答案 1 :(得分:1)
您可以使用JSON.parse
let str='["type",[129,167,85,83]]';
let arr=JSON.parse(str);
arr.shift();
let new_str=JSON.stringify(arr.flat());
console.log(new_str);
答案 2 :(得分:1)
您可以.split()
个字符,后跟[
并关闭]
,在索引1
处获取元素
let str = `["type",[129,167,85,83]]`;
let [,match] = str.split(/.(?=\[)|\]$/);
console.log(match);
答案 3 :(得分:1)
你在这里。
诀窍是添加(?<=,)
将执行逗号。
在下面添加了一个测试,供您参考
var regex = /(?<=,)(\[.*?\])/g;
var json = '["type",[129,167,85,83]]';
var r = json.match(regex);
console.log(r);
答案 4 :(得分:0)
最好使用JSON.parse。 我在下面为您提供了一个小例子;
var course = '["type",[129,167,85,83]]';
var resultArray = JSON.parse(course);
console.log(resultArray[1]); // 129,167,85,83
答案 5 :(得分:0)
尝试一下
var re = new RegExp('(?<=",)(.*)(?=])')