文字列をコンマで区切る正規表現を探しています。非常に簡単ですが、別の制限があります。文字列のパラメータには、その文字列を分割してはならない括弧で囲まれたカンマを使用できます。パラメータを分割する正規表現
例:
1, 2, 3, add(4, 5, 6), 7, 8
^^^ ! ! ^^
文字列が唯一^が付いカンマで分割されるべきではないと!。
私はここでそれのための解決策を見つけた:A regex to match a comma that isn't surrounded by quotes
正規表現:
,(?=([^\(]*\([^\)]*\))*[^\)]*$)
しかし、私の文字列は、より複雑な可能性:この文字列の
1, 2, 3, add(4, 5, add(6, 7, 8), 9), 10, 11
^^^ ! ! ! ! ! ^^
を結果間違っていると私はこれを修正するための手がかりを持っていないか、それが可能であっても正規表現。
誰もがこの問題を解決する方法を知りましたか?
ありがとうございました!
忘れないように、 '、(?=([^ \]] * \([^ \)] * \))* [^ \それは最後の手段である。 –
はかっこのみをエスケープしていますか、またはキーワードadd(...)を使用していますか? –
@LoicM。 「追加」は単なる例であり、他のものであってもよい。要点は、括弧内のコンマは文字列を分割しないことです! –