如何只匹配 vimregex 中的第一个

How to match only the first in vimregex

{{dockerhub | d('test')}}/{{kafka_topic_exporter_repository|default('kafka-topic-exporter') }}

这里我想要 2 个数学 {{ .* }} 但是正则表达式 {{\s*\(\S\+.*\S\+\)\s*}} 匹配整行。有什么办法吗?

Vim 支持与 \{-} 运算符的非贪婪匹配:

{{\zs.\{-}\ze}}

这将匹配第一个大括号内的文本:dockerhub | d('test').

  • \zs{{ 之后开始比赛。
  • \ze}} 之前结束比赛。
  • 如果您需要捕获组,请将 .\{-} 替换为 \(.\{-}\)