0

我有一串javascript代码,

"var obj1 = { width : 120;height    : 80;length : 0;};var obj2 = {width : 80;height     : 10;length : 30;};"

我想把它吐到一个带有键值对的对象中,比如

{
  "obj1": "width   : 120;height  : 80;length  : 0;",
  "obj2": "width : 80;height  : 10;"

}   

/^(\"[^"]*\"|.*?)=(\"[^"]*\"|.*?)$/找到它们的最快方法是什么?

4

1 回答 1

0

我已经看到很多关于 SO 的问题,当 RegEx 从性能角度来看是过度杀伤力时,用户要求 Regex 满足需求。

对您的问题的简短回答:

1) RegEx 不是为解析 JSON 响应而设计的。(不要使用它)

2) 使用 JSON Parser 根据您的需要塑造您的响应。(如果你想要好的性能)

但是,如果您仍然认为您必须使用 RegEx(出于某种原因)或解析 JSON 会导致您做一些额外的工作,而不是使用 RegEx。

你可以使用这个正则表达式:

(\w+)\s(?:\=\s{)([\w\s\:;]+)(?=})

这里每场比赛将有两个组:

请执行下列操作:

1)each group用(双引号)括match起来"

2)groups加入:

matches3)用{和包裹}

希望能帮助到你!

于 2013-06-04T07:40:40.757 回答