2017-01-22 4 views
0

がどのように"(前に感嘆符!をキャプチャしますが、ないではない内部の2つの二重引用符?キャプチャ感嘆符」と(ただし、内部ではない 『』(正規表現)

prerequisityがOKになる"が、後者一部、内部すべきではないという感嘆符は、引用符を倍に、追加する必要があります。

\s*([\!])\s*(")|\s*([\!])\s*(\() 

与えられた入力:(! "A" ! (!"B" "C" " ! ("))

予想される出力:(! "A" ! (! "B" "C" " ! ("))

http://www.regexr.com/3f495

答えて

1

私はあなたが修正を理解し、あなたが引用符の外側に感嘆符の周りに正確に1つのスペースを持っているしたい場合。

この正規表現は、ジョブを実行する必要があります。

\G[^"]*?\K(?:\s*!\s*(?=["(]))([^"!]*(?:"[^"]*")?) 

あなたがここに正規表現の説明を見つけることができます。

Regular expression visualization

Debuggex Demo

とsubstituionのためにあなたが見ることができますここに: https://regex101.com/r/dzwTUp/1

+0

regex101の例は期待どおりに動作しますが、私はdebuggexについてどのように動作するのかよく分かりませんが、正規表現のプログラマにとっては非常にいいインターフェースです! – MarkokraM

+0

@MarkokraMはい、いいインターフェースのためです...現在、何らかの理由で画像生成プログラムが壊れているようです – bukart

関連する問題