如何只匹配vimregex中的第一个

Raj*_*ran 1 vim neovim

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

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

ser*_*gio 5

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

{{\zs.\{-}\ze}}
Run Code Online (Sandbox Code Playgroud)

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

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