Vim正则表达式,反向引用`[^ ​​s]`匹配

Kac*_*che 0 regex vim backreference

在一个文件中,例如:

self.phrase
self.phrases
self.phrase.lower()
self.phrase_lowered
self.phrases[self.phrase]
Run Code Online (Sandbox Code Playgroud)

我想更换所有self.phraseself._phrase,除了self.phrases可以得到:

self._phrase
self.phrases
self._phrase.lower()
self._phrase_lowered
self.phrases[self._phrase]
Run Code Online (Sandbox Code Playgroud)

在我试过的正则表达式中,第一个(我认为可行的正则表达式)是:

:%s/self\.phrase[^s]/self\._phrase\1/gc
Run Code Online (Sandbox Code Playgroud)

但它没有用.

per*_*eal 7

使用\>标记的单词的末尾:

1,$s/self\.phrase\>/self._phrase/g
Run Code Online (Sandbox Code Playgroud)