regex - 带有元字符的vim正则表达式

标签 regex vim

我在文本文件中有以下内容:

This is some text for cv_1 for example
This is some text for cv_001 for example
This is some text for cv_15 for example

我正在尝试使用正则表达式 cv_.*?\s匹配 cv_1 , cv_001 , cv_15在文中。我知道正则表达式有效。但是,当我在 Vim 中尝试时,它与任何内容都不匹配。

我们需要在 Vim 中做一些特别的事情吗?

最佳答案

非贪婪字符 ?在 Vim 中不起作用;你应该使用:

cv_.\{-}\s

...代替:
cv_.*?\s

以下是匹配的快速引用:
     * (0 or more) greedy matching
    \+ (1 or more) greedy matching
  \{-} (0 or more) non-greedy matching
\{-n,} (at least n) non-greedy matching

关于regex - 带有元字符的vim正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1598516/

相关文章:

vim - 是否可以在 Vim 中重新映射 Ex 命令(重新映射 :Ack to :ack)?

bash - 在每一行中搜索一个模式并将其附加到该行的末尾

asp.net 电子邮件验证正则表达式

java - 使用正则表达式分割具有多个条件的字符串

ruby - 隐藏部分电子邮件域

Python Regex 查找字符串中有逗号的任何单词

python - 您如何恢复或自动排列窗口并启动虚拟环境以使用 Ubuntu 进行开发?

javascript - 获取与正则表达式匹配的 HTML 单词的 XPATH

vim - 如何在行的中间输入换行符?

vim - fzf 将文件读入 nvim 缓冲区