“查找和替换第n次出现”的正则表达式细分

时间:2018-01-09 21:17:32

标签: regex vim

I'm analyzing a regex pattern I found on a separate question on the VI SE site,我无法将其分解,即:

\(.\{-}\zsPATTERN\)\{N}

此模式如何在N PATTERN $ mix new my_umbrella --umbrella 出现替换操作(即有人可以帮我扩展此正则表达式中的逻辑)吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

此处,模式匹配任何0+字符序列的N次出现,尽可能少,省略此序列,然后匹配PATTERN

那是:

  • \( - 分组构造的开始
  • .\{-} - 任意0个字符,尽可能少
  • \zs - 省略了目前为止匹配的文字
  • PATTERN - 一些PATTERN
  • \) - 分组构造的结尾
  • \{N} - 范围/限制量词,重复组模式N次。