我在文本文件中有以下文字
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
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用正则表达式cv_.*?\s匹配文本中的cv_1,cv_001,cv_15.我知道正则表达式有效.但是,当我在VIM中尝试时,它与任何东西都不匹配.
我们是否需要在VIM中做一些特别的事情?
gak*_*gak 15
perl非贪婪的"?" char在Vim中不起作用,你应该使用:
cv_.\{-}\s
Run Code Online (Sandbox Code Playgroud)
代替
cv_.*?\s
Run Code Online (Sandbox Code Playgroud)
以下是匹配的快速参考:
* (0 or more) greedy matching
\+ (1 or more) greedy matching
\{-} (0 or more) non-greedy matching
\{-n,} (at least n) non-greedy matching
Run Code Online (Sandbox Code Playgroud)
vim的regex语法有点不同-您正在寻找的是
cv_.\{-}\s
Run Code Online (Sandbox Code Playgroud)
(\{-}相当于perl的vim *?,即非贪心的0或更多)。见这里关于vim的正则表达式一个很好的教程。
| 归档时间: |
|
| 查看次数: |
2560 次 |
| 最近记录: |