2017-10-17 30 views
0

引用符の間に '\'が前に付いていない場合にのみ、 '%'と一致させたい場合に適切な正規表現を見つけるのに苦労しています。正規表現一致%%

たとえば私は、この試合

テスト\テスト

でもない、この「\

テストに一致する "\この%がマッチ" として戻って来てほしい\ %は一致しません\ "テスト

正規表現マスターはwこれで私を助けるためにilling!

最終的に私の目標は、すべての '%'が引用内で見つかるとエスケープされるようにすることです。

編集: は、ここで私はこれは私が持っているもので、現在、間違いなく正しいではありません、今

持っているものです。

\ "[%] [^ \%]。 \"

+0

まだ何か試しましたか?研究の小さなビットは、これに対する答えをもたらす必要があります。 – CAustin

+0

これは現在私が持っているものですが、間違いなく正しくありません。 \ "。* [%] [^ \%]。* \" – Wes

+0

代わりに使用することをお勧めしますか? – Wes

答えて

2
([^\\]|\\[^%])* 

これはセクションがあるhttps://regex101.com/

に私のテストで動作しているようですように見えます( [^\\] | \\[^%] )*

()*は、含まれるグループの0以上を意味します。

[^\\]または\\[^%]のいずれかです。最初のケースは、パーセント記号を含む「バックスラッシュではない文字」です。 2番目のケースは「バックスラッシュの後ろにパーセント記号ではない文字が続きます」。

[^ ]演算子は「これら以外の文字」です。