将包含代码的字符串拆分为var's和值

fastest regex to split string containing code into individual key value pairs of var's and values

本文关键字:和值 var 代码 包含 字符串 拆分      更新时间:2023-09-26

我有一个字符串,包含一些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;"
}   

/^('"[^"]*'"|.*?)=('"[^"]*'"|.*?)$/会是找到它们的最快方法吗?

我在SO上看到了很多问题,当Regex从性能角度来看过于夸张时,用户会要求Regex来满足需求。

简短回答您的问题:

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

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

但是,如果你仍然认为你一定要使用RegEx(出于某种原因(,或者解析JSON会导致你做比使用RegEx更多的额外工作。

您可以使用此RegEx:

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

在这里,每场比赛将有两组:

执行以下操作:

1( 用"(双引号(包裹match中的each group

2( 加入groups:

3( 用{}包裹matches

希望它能有所帮助!