正则表达式用于在文本字符串中查找变量名称及其值

Regex to find variable names and their values in a text string

本文关键字:变量名 查找 用于 文本 字符串 正则表达式      更新时间:2023-09-26

假设我在文本字符串(str)中有一个随机变量和值。我必须编写什么正则表达式才能返回数组中变量的名称和值?

str="var abcde = 'xyz';"
result = str.match(/.../); //<-??
//['abcde','xyz']; //value of result

我尝试了/'bvar's+([^;]+)/但它将返回整个表达式abcde = 'xyz'结果。

它始终采用 var somename = somevalue; somevalue 可以是数字、字符串、数组或对象的格式。所以它可以包含 () 和 {} 以及逗号。

做不到。

井。。。

您可以尝试解析 JavaScript 代码以检索变量的值,但是,问题是,只有当值是字符串,数组和仅包含字符串值的对象时,它才会起作用。(很多(如果不是大多数)变量值将在运行时确定,对此无能为力)

所以假设它只是我们想要找到的字符串值......

这不是一件容易的事,有很多形式可以清除键和值

var hello = "world";
var hello = 'world';
var hello = "world", var2, var3 = 'value';
var hello = {
   prop: "world"
};
var hello = ["world"];

还有更多...

如果您仍然想继续这种方法,我可以向您推荐 http://regexone.com/。