0

私はC#にたくさんのJsonスタイルの文字列を持っており、実際にCSファイルにある生の文字列を取得してstring.formatに変換し、Webリクエストのパラメーター化に役立てようとしています。

これまでのところ、私はうまくいくものを思い付くことができませんでした。

これらの文字列の両方に一致する単一の正規表現が必要です。

    "{\"effectiveTimestamp\":null

\"foo\":1029231}");

私の正規表現は次のようになります

\s*\"?{?(.*?):(.*)(?:}\"\);)?

私は最後の2つのキャプチャグループに対して貪欲と非貪欲のさまざまなバリエーションを試しました。

\s*\"?{?(.*?):(.*)(?:}\"\);)*

\s*\"?{?(.*?):(.*)(?:}\"\);)*?

\s*\"?{?(.*?):(.*?)(?:}\"\);)*

\s*\"?{?(.*?):(.*?)(?:}\"\);)*?

0回または1回一致させようとするだけでなく

\s*\"?{?(.*?):(.*)(?:}\"\);)?

しかし、私が何をしても、最初の文字列または2番目の文字列の2番目のグループを取得できません。どちらの場合も、2番目のグループを正しく取得できません。

マットから答えを得ました:

これは私が必要としたものをキャプチャします。

([\w\\"]*):([\w\\"]+)

4

1 に答える 1

2

これはどうですか?

(\w+)\\?\"\s*\:\s*(\w+)

ここで何が欲しいかを言うのは難しいですが、試合で期待しているグループの例を教えてください。

于 2012-09-12T16:17:45.060 に答える