私はC#にたくさんのJsonスタイルの文字列を持っており、実際にCSファイルにある生の文字列を取得してstring.formatに変換し、Webリクエストのパラメーター化に役立てようとしています。
これまでのところ、私はうまくいくものを思い付くことができませんでした。
これらの文字列の両方に一致する単一の正規表現が必要です。
"{\"effectiveTimestamp\":null
\"foo\":1029231}");
私の正規表現は次のようになります
\s*\"?{?(.*?):(.*)(?:}\"\);)?
私は最後の2つのキャプチャグループに対して貪欲と非貪欲のさまざまなバリエーションを試しました。
\s*\"?{?(.*?):(.*)(?:}\"\);)*
\s*\"?{?(.*?):(.*)(?:}\"\);)*?
\s*\"?{?(.*?):(.*?)(?:}\"\);)*
\s*\"?{?(.*?):(.*?)(?:}\"\);)*?
0回または1回一致させようとするだけでなく
\s*\"?{?(.*?):(.*)(?:}\"\);)?
しかし、私が何をしても、最初の文字列または2番目の文字列の2番目のグループを取得できません。どちらの場合も、2番目のグループを正しく取得できません。
マットから答えを得ました:
これは私が必要としたものをキャプチャします。
([\w\\"]*):([\w\\"]+)