我有一些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;"
}
/^(\"[^"]*\"|.*?)=(\"[^"]*\"|.*?)$/
是找到它们的最快方法吗?
答案 0 :(得分:0)
我已经看到很多关于SO的问题,当RegEx从性能角度来看是一种过度杀伤时,用户要求Regex满足需求。
对您的问题的简短回答:
1)RegEx不是为解析JSON响应而设计的。 (不要使用它)
2)使用JSON Parser根据您的需要塑造您的响应。 (如果你想要好的表现)
但是如果您仍然认为您必须使用RegEx(出于某种原因)或解析JSON将导致您进行比RegEx更多的额外工作。
您可以使用此RegEx:
(\w+)\s(?:\=\s{)([\w\s\:;]+)(?=})
Here每场比赛将有两组:
执行以下操作:
1)用
each group
match
(双引号)包裹"
2)使用
加入groups
:
3)用
matches
和{
包裹}
。
希望它有所帮助!