2

次のコードでは:

a = b = c == 1

最初の 2 つの = だけで一致させたいのですが、最後の == では一致させません。

単語の先頭に一致し、末尾に一致するため、パターン\<=\>が機能すると考えました。しかし、そうではありません。このパターンの何が問題で、正しいパターンは何ですか?\<\>

4

3 に答える 3

5

vim はルックアラウンドをサポートしているため、= を囲む否定後読みと否定先読みを使用できます。これは、目的の = および行頭または行末の = のみに一致します。

\(=\)\@<!=\(=\)\@!
于 2013-03-29T06:01:54.533 に答える
4

\<=\>通常、イコール文字はキーワード文字ではないため、使用できません。で修正できますが、ナビゲーションや構文の強調表示に副作用が生じる可能性があります。:set iskeyword+==

于 2013-03-29T06:45:24.487 に答える
0

この正規表現は機能するはずです:

[^=]=[^=]

=行頭または行末で単一に一致させたい場合は壊れますが、これはパターンの問題ではないと考えました。

于 2013-03-29T05:54:29.963 に答える