2
在这个简单的代码:正则表达式(VIM)星号代替
char **s = NULL;
char **s1 = NULL;
我想用 “* S” 代替 “** S”
的结果应该是:
char *s = NULL;
char **s1 = NULL;
但如果我尝试:
%s/\<\*\*s\>/\*s/g
更换故障。 如果尝试这个办法:
%s/\*\*s/\*s/g
结果是:
char *s = NULL;
char *s1 = NULL;
更换succeded,也有 “** S1” 被替换
为什么第一种方法失败?
为什么第一个有'\ <' and '\>'? – FakeRainBrigand 2012-02-19 18:03:16
完全匹配http://vim.wikia.com/wiki/Search_and_replace – 2012-02-19 18:05:12
顺便说一句,这是一个工作。 '%s/\ ** s \ s/* s /'您的第二个匹配,因为您没有指定在“s”之后出现的内容。 ' – FakeRainBrigand 2012-02-19 18:06:08