0
\sn{1}\gn{2}\gn{3}\sn{4}\sn{5}\gn{6}\gn{7}\sn{8}\yr{2012}
需要的輸出
\sn{1}\sn{4}\yr{2012}
我用這個代碼。但失敗了。
%s/\\sn{\([^}]*\)}.*\\sn{\([^}]*\)}.*\\yr/\sn{\1}\sn{\2}\yr{\3}/gec
\sn{1}\gn{2}\gn{3}\sn{4}\sn{5}\gn{6}\gn{7}\sn{8}\yr{2012}
需要的輸出
\sn{1}\sn{4}\yr{2012}
我用這個代碼。但失敗了。
%s/\\sn{\([^}]*\)}.*\\sn{\([^}]*\)}.*\\yr/\sn{\1}\sn{\2}\yr{\3}/gec
非貪婪在vimregex是.\{-}
舉個細節看:h \{-
。
所以你:s
CMD可寫成:
%s/\(\\sn{[^}]*}\).\{-}\(\\sn{[^}]*}\).\{-}\(\\yr{[^}]*}\).*/\1\2\3/g
的[?我怎樣才能使我的vim的非匹配貪婪(可能的複製http://stackoverflow.com/questions/1305853/how-可以-I-讓 - 我 - 比賽非貪婪式-VIM) –