mtk*_*mtk 27 vim search regular-expression
我需要在一个大文档中找到特定的长度数字。我尝试为此使用正则表达式。例如,如果我需要搜索正好为 2 位的数字,我会使用\d\d(即 /d 两次后跟一个空格)。这很好用。
但是要找到 10 位数字,输入\d10 次实际上并不可行。
试过\d{2},说' E486:找不到模式:\d{2} '
有没有更快/更容易的方法来实现这一目标?
Ing*_*kat 40
有不同的正则表达式方言;有些(例如 Perl 的)不需要在量化修饰符( \d{2}) 中使用反斜杠,有些(例如 sed)需要两个 ( \d\{2\}),而在 Vim 中,只有开头的卷曲需要它 ( \d\{2})。这是不兼容的正则表达式方言的可悲状态。
另请注意,要匹配准确的数字,您必须锚定匹配项,以便\d\{2}与 中的数字 ( 12)不匹配123。这可以通过负向后视和前视来完成:
\d\@<!\d\{2}\d\@!
Run Code Online (Sandbox Code Playgroud)
Rap*_*ens 12
请尝试以下操作:
\d\{2}
Run Code Online (Sandbox Code Playgroud)
你应该使用\not/
你可以找到更多关于VIM的这个常规exression网站或vim用:help regular。