如何在vim正则表达式中搜索元字符或其他字符?
示例:(我希望这与元字符'\ w'或字符' - '匹配1次或更多次
[-\w]\+
但是那个正则表达式并不像我希望的那样有效。它只匹配 - ,w和。我试图逃避'\',但这不起作用。
我查看了vim文档,但没有这方面的例子。
答案 0 :(得分:13)
在集合中,您必须使用特殊字符类。以下表达式与您的表达式相同:
[-_[:alnum:]]\+
检查:h [:alnum:]
(及后续行)以获取受支持类的完整列表。
答案 1 :(得分:4)
\%(\w\|-\)*
使用\%(
组,因此无法捕获任何内容。 \|
和\w
-
或非常神奇,\v
\v%(\w|-)*
答案 2 :(得分:0)
有一个名为eregex.vim的插件,它将PCRE转换为Vim的语法,将[\w]
扩展为[0-9A-Za-z_]
,以及它所做的许多其他事情。需要over a thousand lines of vim to achieve that translation!