首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Vim中的多行正则表达式支持

Vim中的多行正则表达式支持
EN

Stack Overflow用户
提问于 2009-04-24 01:13:20
回答 1查看 39.3K关注 0票数 125

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

代码语言:javascript
复制
This is\nsome text
/This.*text/s

例如,这在Perl中可以工作,但在Vim中似乎不受支持。相反,我必须说得更具体一些:

代码语言:javascript
复制
/This[^\r\n]*[\r\n]*text/

我找不到任何理由来解释为什么会这样,所以我想我可能只是错过了vim帮助中的相关部分。

有人能以这种或那种方式证实这种行为吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-04-24 01:28:04

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

相反,您可以使用\_.,这意味着“匹配包括换行符在内的任何单个字符”。它比你拥有的要短一点。参见:h /\_.

代码语言:javascript
复制
/This\_.*text/
票数 190
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/784176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档