2009-04-24 108 views
97

我注意到了標準的正則表達式的語法多行匹配是使用/秒,就像這樣:多行正則表達式的支持

This is\nsome text 
/This.*text/s 

此作品在Perl例如但似乎並沒有被Vim支持。相反,我必須要更加具體:

/This[^\r\n]*[\r\n]*text/ 

我找不到任何理由爲什麼這應該是,所以我想我可能只是錯過了VIM幫助中的相關位。

任何人都可以確認這種行爲嗎?

回答

150

是的,Perl的//s修飾符在Vim正則表達式中不可用。有關詳細信息和Vim和Perl正則表達式之間的其他差異列表,請參見:h perl-patterns

相反,您可以使用\_.,這意味着「匹配任何單個字符,包括換行符」。這比你有的短一點。見:h /\_.

/This\_.*text/ 
+2

http://blog.vinceliu.com/2007/12/regular-expression-matching-more-than.html – 2010-01-15 07:55:16