16

vim で、 (この場合) "DROP" という単語で終わらない行を検索するにはどうすればよいですか?

4

1 に答える 1

25
/\(DROP\)\@<!$

これはゼロ幅の負の後読みアサーションを使用します。行末のみが検出され、直前にない行末のみが検出されDROPます。

行全体を見つけたい場合は、次を使用できます。

/^.*\(DROP\)\@<!$

先読みアサーションと後読みアサーションは単一の「アトム」にのみ一致するためDROP、で囲む必要があることに注意してください。\( .. \)したがって、括弧を使用して単語を 1 つのアトムにグループ化します。

を試し/DROP\@<!$た場合、次の太字部分のような検索結果が得られます。

abcdef
テスト テストDRO
12345DROP
12345 DRO
12345


このページにはこれらのアサーションのチュートリアルがありますが、VIM 正規表現構文は使用されていません。

これを VIM に入力して、コマンドのヘルプを表示することもできます。

:help \@<!

同様の主張:

\@=
\@<=
\@!
于 2012-04-26T06:03:11.443 に答える