vim中的非贪婪多行搜索

Pav*_* K. 12 regex vim multiline non-greedy

我试图搜索ruby文件并找到所有方法(之后自动替换它们).在vim中,我使用以下正则表达式:

/\vdef.*(\n.*){-}end
Run Code Online (Sandbox Code Playgroud)

但即使我使用"{ - }",它也会选择整个文件的内容.

Bir*_*rei 12

用于\_.将换行符包含在common中..

/\vdef\_.{-}end
Run Code Online (Sandbox Code Playgroud)

  • 就我而言,```/\_ vdef\_.\ { - } end```起作用了. (5认同)

小智 7

在我的Vim版本中,您需要逃避{,以及使用\_.其他答案所说的:

/def\_.\{-}end
Run Code Online (Sandbox Code Playgroud)


jks*_*hah 5

试试下面的正则表达式.

/\vdef(\n|.){-}end
Run Code Online (Sandbox Code Playgroud)

.* 在你的情况下是罪魁祸首