3

私はそのようなテキストのブロックを持っています。

google.sbox.p50 && google.sbox.p50(["方法",[["ネクタイの結び方",0],["ドラゴン 2 トレーラーのトレーニング方法",0],["方法the cup song",0],["3分でシックスパックを手に入れる方法",0],["撃てるペーパーガンの作り方",0],["基本的な作り方",0],[ "lil wayne を愛する方法",0],["お気に入りのアーティストのように歌う方法",0],["ハートブレイカー マリーナとダイヤモンドになる方法",0],["Minecraft で馬を飼いならす方法",0]],{"q":"XJW--0IKH6sqOp0ME-x5B7b_5wY","j":"5","k":1}]))

を使用\\[([^]]+)\\]すると、必要なものはすべて手に入れることができますが、少し余分なものがあります。は必要ありません["how to",[[。次のようにフォーマットされたブロックのみが必要です。

["how to tie a tie",0]

必要なものだけを取得するように式を変更するのを手伝ってもらえますか? 私は何時間もそれに取り組んできましたが、正規表現のアイデアを理解できません。

4

5 に答える 5

0

外側の括弧内のテキストはJSON、オブジェクトの表現のようです。正規表現の代わりに、次のようにします。

  1. ブラケット + 最初のブラケット ( google.sbox.p50 && google.sbox.p50() の前のものを取り除き、さらに末尾のブラケットを取り除き)ます。これを行う方法は他にもあり、正規表現よりも効率的です。
  2. JSON残りの内部部分を解析します。
  3. その時点から、オブジェクト表現が得られ、必要のない配列の最初の要素を除外できます。さらに、他のすべてをトラバース可能な形式で取得できます。

最後にセッション情報とパラメーター ({} 括弧内) があるため、最終的には何らかの方法で解析することになります。車輪を再発明しない方がよい (JSON解析)。

于 2013-08-29T19:54:50.757 に答える