2014-03-29 64 views

回答

3

Vim支持正則表達式的搜索和代http://vimregex.com/

即所期望的正則表達式:

AA((?!B{2})|(?!C{2})) 

上述正則表達式可被驗證here


在VIM:

/^\(AA\)\(BB\)\@!.*$ 

會發現所有的AA..格式字符串,將跳過AABB字符串。

  1. 以跳過AACCAABB你可以使用:

    /^\(AA\)\(\(BB\)\|\(CC\)\)\@!.*$ 
    

    或等價:

    /^\(AA\)\(\(B\{2\}\)\|\(C\{2\}\)\)\@!.*$ 
    
  2. 消除琴絃的^,如果你想找到像 串AAXC內部字符串形式爲BAAXC

+0

,嘗試使用'\ AA((?!B {2})|(?!C {2}))',但以'E486:未找到模式結束:AA((?!B {2 })|(?!C {2}))' –

+0

這是正則表達式看你需要查找的vim字符串 – 0x90

0

如果實際上很簡單(只是字符,而不是單詞),您可以使用正則表達式進行搜索,只需使用A [^ BC]。

+0

不幸的是我需要搜索單詞。請參閱已修改的文章 –