0

正規表現の作成に問題があります。次のような文字列があります (Web サーバーからの単純な json 応答):

{
    "key1":valueInt1,
    "key2":valueInt2,
    [...]
    "specialKey":"",
    "subtitle":"Every kind of character, like char, num or punct",
    "key3":"Useful line",
}

私が望むのは、キー「specialKey」とその値、および「subtitle」とその値を削除することです。どちらも空にすることができます (私の例の specialKey のように)。

私はそのようなことを試しました:

(\"subtitle\"\:\")([:punct:]*[:space:]*[:word:]*)*(\",)

成功せずに。エラーは、私のランダムな文に一致する部分 ([:punct:] [:space:] [:word:] )です。

ご協力いただきありがとうございます!

4

2 に答える 2

3

JSONは正規言語ではないため、正規表現はこの種の操作に最適なツールではありません。目標を達成するには、JSON パーサーを使用することをお勧めします。

于 2012-11-09T11:35:37.210 に答える
1

文字クラスは通常、ブラケット式内でのみ使用されます。持っているものを次のように変更した場合:

(\"subtitle\"\:\")([[:punct:][:space:][:word:]]*)*(\",)

それはうまくいくはずです。

于 2012-11-09T11:31:47.963 に答える