2017-12-13 5 views
0

現在、文字列からjsonオブジェクトを解析する作業を行っていますが、私の正規表現は文字列全体で複数のオブジェクトを処理できません。ここ文字列内の正規表現a jsonオブジェクト

/(\[{|\{)(?=.)(?: [^*] | (R))*(\}]|\})/g 

そして、私のテスト文字列は次のとおりです。

は、ここに私の現在の正規表現です。私は両方のタイプのオブジェクト、{...}[{...}]をキャプチャしようとしています。

以下は、私が使用している文字列テスト文字列です。ここで

[{ "funarray" を解析する正規表現のためのいくつかのJSON文字列である:[12、343、 4]、 "名前": "ジョン・ドウ"、 "年齢":23、 "_id": "名前": "Jane Doe"、 "年齢":28、 "_id": "ad16ab2-df9a-11e7-9ece-3b010fca83e0"、 "created_at":1513124107987}、 "ad167fe0-df9a-11e7-9ece- 「名前」:「John Smith」、「年齢」:21、「_id」: 「ad16a6f0-df9a-11e7-9ece-3b010fca83e0」、「created_at」:1513124107999}、「created_at」:1513124107998} ] そして文字列の終わりをheres!しかし、別のjsonオブジェクトを に追加すると、この中間の文字列を取り込むべきではありません。 {"funarray":[12、 343,4]、 "name": "Greg Johnson"、 "age":20、 "_id": "da54a650-df9a-11217-9ece-3faebe8320"、 "created_at": 1513124186254 }この文字列はキャプチャされるべきではありません。

+0

参照[安全オブジェクトにJSON文字列を回す](https://stackoverflow.com/questions/45015/safely-turning-a-json-string-into-an:ここに答えがあります - オブジェクト)。 –

+0

@WiktorStribiżew残念なことに、私が解析するこれらの文字列はログになるため、私の場合はうまくいかないでしょう –

答えて

0

私は最初の質問を実現した後、実際にはjavascriptの正規表現が無効であることを理解しました。

(\[{|\{)(?=.)(?:[^.+]|(R))*(\}]|\})(?=.)