2015-12-04 38 views
0

我需要搜索並替換以cmc開頭的字符串,並以開頭的結尾處出現逗號。我已經嘗試了幾次迭代/"cmc.*,\{-}/\("cmc\).*\(,\=\)以及之間的所有內容,但都無濟於事(過去一週搜索範圍很廣)。樣品期望的結果:從字符串匹配到vim中的第一個逗號

「CMC」:2, 「顏色」: 「黑」],

什麼,而不是我現在得到:

「CMC」:2,「顏色「:[」Black「],

我希望它匹配到第一個逗號,但是它會匹配最後一個逗號。先謝謝你。

回答

3

嘗試/"cmc.\{-},

如果使用*,它最長可以occurence匹配;相反,\{-}匹配最短的一個。

*\{-}總是指它前面的最後一個原子;一個原子可以是簡單的字母,或點.炭,或包圍\(\)複雜圖案...

更多的解釋

另一種常見的方法來做到這樣的搜索參見:h pattern-overview被搜索「除了逗號之外的所有東西」,其語法如下:[^,],所以你的問題的另一個答案是:/"cmc[^,]*,

+0

啊,是的。我從來沒有意識到'\ { - }'是一個擴展,可以用來代替'*'。天才。非常感謝。 – morrcahn

相關問題