Vim中的多行正则expression式支持

我注意到跨多行匹配的标准正则expression式语法是使用/ s,如下所示:

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

这在Perl中可行,但在Vim中似乎不受支持。 相反,我必须更加具体:

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

我找不到为什么这个应该是什么原因,所以我想我可能只是错过了在vim帮助相关的位。

任何人都可以确认这种行为吗?

One Solution collect form web for “Vim中的多行正则expression式支持”

是的,Perl的//s修饰符在Vim正则expression式中不可用。 有关详细信息,请参阅:h perl-patterns ,以及Vim和Perl正则expression式之间的其他差异列表。

相反,你可以使用\_. ,意思是“匹配包括换行符在内的任何单个字符”。 这比你有的短一点。 请参阅:h /\_.

 /This\_.*text/ 
  • 获取string中两个string之间的string
  • 正则expression式空string或电子邮件
  • 创build正则expression式匹配的数组
  • Javascriptreplace参考匹配组?
  • replacestring中的反向引用语法(为什么是美元符号?)
  • 匹配除指定string以外的所有内容
  • .Net正则expression式:什么是字符\ w?
  • 如何检查,如果一个PHPstring只包含英文字母和数字?
  • Java分裂正在吃我的angular色
  • Java - 转义string,以防止SQL注入
  • 用正则expression式匹配mathexpression式?