[英]How to search this pattern in vim?
/'text': '.+'
在VIM中,我想在兩種情況下匹配“文本”中的“ abc”和“ a”:
'text': 'abc', 'url': 'http...'
'text': 'a', 'title': 'dog'
我想在冒號后的單引號中匹配至少一個字符。 這似乎不起作用。
我知道了。 這工作了!
/'brand': '[^']\+'
之所以不起作用,是因為必須對+
原子進行轉義,以使其具有vim的正則表達式風格的特殊含義。 現在,這意味着緊隨其后的是文字加號 。 但是,一旦逃脫,就意味着至少一個,但要盡可能多 。 所以你想要這個:
/'text': '.\+'
但是,這產生了新的問題。 .+
將匹配盡可能多的字符,包括單引號。 所以最終匹配
abc', 'url': 'http...'
代替
abc'
因此,您想使用+
的非貪婪等價物\\{-1,}
。 嘗試這個:
/'text': '.\{-1,}'
當然,您也可以打開magic選項並執行以下操作:
/\v'text': '.{-1,}'
可以在vimregex.com上找到有關vim regex的完整概述。 我用它所有的時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.