假设我在文本字符串(str)中有一个随机变量和值。我必须编写什么正则表达式才能在数组中返回变量的名称和值?
str="var abcde = 'xyz';"
result = str.match(/.../); //<-??
//['abcde','xyz']; //value of result
我尝试了/\bvar\s+([^;]+)/
,但结果会返回整个表达式abcde = 'xyz'
。
始终采用var somename = somevalue;
格式,somevalue可以是数字,字符串,数组或对象。所以它可以包含()和{}以及逗号。
答案 0 :(得分:1)
无法完成。
嗯......
您可以尝试解析javascript代码以检索变量的值, 但是,问题是只有在值为字符串,数组和放大器时才会起作用。仅包含字符串值的对象。 (如果不是大多数变量值将在运行时确定很多,并且没有任何关系)
所以我们要说它只是我们想要找到的字符串值...
这不是一项容易的任务,有许多形式可以解析键和值
scanf
还有更多......
如果您仍想继续使用此方法,我可以推荐您http://regexone.com/。