1

エスケープされる可能性のある一重引用符に一致する正規表現を作成しようとしています。一致する引用符の前には、偶数の円記号が必要です(奇数の数字は、引用符がエスケープされていることを意味します)。たとえば、次の5つの文字列では次のようになります。

'quotes should be matched'
\'quotes should NOT be matched\'
\\'quotes should be matched\\'
\\\'quotes should NOT be matched\\\'
\\\\'quotes should be matched\\\\'

これが私が持っている正規表現です:

(?<=[^\\](?:\\\\)*)'

ただし、これは上記の例のいずれとも一致しません。*正規表現からを削除すると、引用符が2つの円記号と一致するため、これは奇妙だと思います。

(?<=[^\\](?:\\\\))'一致する\\'

4

1 に答える 1

3

私が見る限り、。だけを一致させることはできません'。これは、Wiseguyが指摘したように、動的な長さの後ろを見ることができないためです。

ただし、次の正規表現は正しい'ANDに一致します\。これが役立つかどうかわからない。

(?<!\\)(?:\\\\)*'

\前後にaが付いていない任意の数のdoubleに一致し\ます'

于 2013-03-04T22:26:25.427 に答える