Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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,我想从字符串中解析javascript变量。 诸如此类 var string = "<script>window.arr=[1, 2.0, false]</script>"; 你应该把 var string = "<script>window.arr=[1, 2.0, false]</script>"; //only valid letters var getVar = string.match(/\[[[0-9,.a-z ]+]/g); con

我想从字符串中解析javascript变量。 诸如此类

var string = "<script>window.arr=[1, 2.0, false]</script>";
你应该把

var string = "<script>window.arr=[1, 2.0, false]</script>";
//only valid letters
var getVar = string.match(/\[[[0-9,.a-z ]+]/g);
console.log(getVar);
var array = JSON.parse(getVar);
console.log(array);
var string=“window.arr=[1,2.0,false]”;
//只有有效的字母
var getVar=string.match(/\[[0-9,.a-z]+]/g);
console.log(getVar);
var array=JSON.parse(getVar);
console.log(数组);

对于已知字符串的简单使用来说,可能有些过分,但是如果您需要支持常规解析,您可以在您的环境支持的情况下使用
DOMParser
。(有关regex可能不是答案的原因,请参阅)

[插入有关
eval()ing
strings的所有常见注意事项]

var parser=new DOMParser();
var string=“window.arr=[1,2.0,false]”;
var doc=parser.parseFromString(string,“text/html”);
var script=doc.querySelector('script')
eval(script.innerHTML)

console.log(window.arr)
您信任这些字符串的内容吗?只执行它是否可行?不,我不想执行全部。只需获取其中的一部分。上面的例子就是这样,但我需要一个通用的解决方案来获取特定的变量。我真的不想执行整个脚本。
var string = "<script>window.arr=[1, 2.0, false]</script>";
//only valid letters
var getVar = string.match(/\[[[0-9,.a-z ]+]/g);
console.log(getVar);
var array = JSON.parse(getVar);
console.log(array);