1

コード内の二重引用符で囲まれた文字列内にあるバックスラッシュに一致する正規表現が必要です。たとえば、次はすべて一致する必要があります。

Dim testStr As String = "This is \ text"
Dim testStr2 As String = "\"

VS の検索機能を使用して、ソリューション全体を検索したいと考えています。

4

1 に答える 1

2

これはうまくいくようです:

\\~([^"]*("[^"]*"[^"]*)*$)

\\文字通りの円記号に一致します。次に来るのは、ネガティブな先読みに相当します。~(...)主張します、それはその時点で一致する...ことはできません(実際の一致にそれ以上何も含めないで)。これを使用して、円記号が文字列内にあることを確認します。"文字列内にある場合は、文字列と行末の間に奇数があります。したがって、円記号と行の終わりの間に[^"]*("[^"]*"[^"]*)*$偶数がある場合に一致"します(で表され$ます)。

これにより、としてエスケープされる複数行の文字列または引用符で問題が発生します\"が、幸いなことにどちらもVB.NETには存在しないため、このソリューションで安全である必要があります。

これは.NET正規表現ではないことに注意してください。Visual Studioには、独自のかなり奇妙な正規表現構文があります。

于 2012-11-25T23:13:30.740 に答える