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 に関する多くの質問を見てきました。

あなたの質問への短い答え:

1) RegEx は、JSON 応答を解析するようには設計されていません。(使用しないでください)

2) JSON パーサーを使用して、必要に応じて応答を成形します。(良いパフォーマンスが必要な場合)

しかし、(なんらかの理由で) 正規表現を使用する必要があるとまだ考えている場合、または JSON を解析すると、正規表現で行う必要があるよりも多くの追加作業を行う必要があります。

この正規表現を使用できます:

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

ここでは、各試合には正確に 2 つのグループがあります。

以下をせよ:

1) with (二重引用符) でeach group囲むmatch"

2) 参加groupsする:

3)と でラップmatchesします。{}

それが役に立てば幸い!

于 2013-06-04T07:40:40.757 に答える