0

私はここで非常に新しいので、私の問題を説明できることを願っています。

私は次のような文字列を持っています: "{sometext {'id':123,'email':'email1','pass':'pass1'},someothertext:{'id':456,'email':'email2 ','pass':'pass2'}}"

そして、次のような配列を作成したいと思います: Array ( [0] => 'id':123,'email':'email1','pass':'pass1' [1] => 'id':456 ,'email':'email2','pass':'pass2')

これを行うための正規表現が見つかりません... :(

$arr[0][0]で最初のID、$arr[0][1]で最初のメールなどにアクセスできればもっといいのですが…。

誰でも私を助けてもらえますか?? どうもありがとう


遅れてすみません..そして皆さんありがとうございました!! 最後に成功しました :) 外部中かっこを削除し、一重引用符を二重引用符に置き換えてから、json_decoded を使用しました (完璧です!) ありがとうございました!

4

2 に答える 2

2

あなたが説明する入力文字列は JSON 形式のようです。さまざまな言語で JSON データを読み取るためのライブラリが多数あります。http ://www.json.org/ をご覧ください。

于 2012-05-23T23:00:14.727 に答える
0

この正規表現が役立ちます

{(?:'([^']*)':([^,]*),?)*}

最初のグループには「id」が含まれ、2 番目のグループには「123」が含まれます。

1 つの正規表現で行う場合は、同じグループで複数のキャプチャをサポートする正規表現エンジンが必要であることに注意してください。.NET 正規表現エンジンはこれを行うことができます。

そうでない場合は、それぞれ正規表現で 2 つのパスを作成する必要があります。この回答でどこまで到達できるか教えてください。

于 2012-05-23T23:08:24.483 に答える