2014-03-27 70 views
0

我想补充一些语法着色VIM书面标准大写形式常数:Vim的正则表达式匹配多个突出

HELLO_WORLD 
_GOOD_BYE_WORLD 

当我去http://regex101.com/我能够与符合以下这些:

/(_*[A-Z]+_*)+ 

但与vim它不匹配任何东西。

/_将匹配单个下划线,但/ _ *不匹配多个下划线,它匹配每个字符。阅读了一些vim正则表达式文档(http://vimdoc.sourceforge.net/htmldoc/pattern.html)后,似乎下划线用于跨行扩展匹配。但是,文档中列出的所有模式都使用\ _(转义下划线),而不仅仅是字符。

如何匹配这种形式的单词?

为什么_ *匹配每个字符?

回答

2

我认为\<[_A-Z]\+\>会做你想做的。

接受的答案与小写字母中包含的下划线和大写字母相匹配。

2

Vim有稍微不同的正则表达式格式,一些关键的人物需要excaping,像+(),这里是你的格式化VIM

\(_*[A-Z]\+_*\)\+ 

欲了解更多信息相同的正则表达式,你可以访问http://vimregex.com/