大括弧または中括弧の外側にのみ存在するコンマをターゲットにする正規表現を書く必要があります。JS Regexがネストされた中括弧の外側の文字と一致するようにする
は現在、私は持っている:
var regex = /,(?![^{]*})(?![^[]*])/g
ターゲット文字列があるとき:
var str = '"a":[{"b":2,"c":["d"]}],"b":2' // OK: only second comma matches
パターンが正しくのみ二コンマと一致します。
ターゲット文字列は次のとおりです。
var str = '"a":[{"b":2,"c":{"d":9}}],"b":2' // OK: only second comma matches
パターンも正しくのみ二コンマと一致します。
ただし、ターゲット文字列に配列とオブジェクトが含まれている場合、否定ルックアヘッドは失敗し、正規表現は両方のコンマに一致します。
var str = '"a":[{"b":2,"c":[{"d":9}]}],"b":2' // BAD: both commas match
なぜこれが必要ですか? – Phil
この受け入れられた答えhttp://stackoverflow.com/a/546457/1679286で述べたように、それをコード化するほうがいいでしょう。**正規表現はこの仕事のための正しいツールではありません**。 –
これを使用してJSONパーサーを作成します。 – RhinoDavid