首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式匹配vim上的两个符号之间的所有句子?

正则表达式匹配vim上的两个符号之间的所有句子?
EN

Stack Overflow用户
提问于 2015-02-08 13:15:16
回答 2查看 79关注 0票数 0

嗨,这是我的文本文件行:

代码语言:javascript
复制
\```cpp
     addPart: partTemplate named: partName
     partCatalog at: partName put: partTemplate
代码语言:javascript
复制

我需要取cpp and之间的所有句子。

我试图编写以下regex :%s/```cpp\n\(.*\n\)*```//gc,但它匹配文件中的所有行。请任何人帮我解决这个问题。谢谢是提前..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-08 13:32:12

问题是外部* (重复的\(.*\n\))是贪婪的(匹配尽可能多的)。

使用{-}来匹配尽可能少的内容:

代码语言:javascript
复制
:%s/```cpp\n\(.*\n\)\{-}```//gc
票数 2
EN

Stack Overflow用户

发布于 2015-02-08 13:29:54

尝尝这个

代码语言:javascript
复制
```cpp\n(([^\n]*\n)*)```
代码语言:javascript
复制
the first (1 not 0) group will match

```javascript
代码语言:javascript
复制
 addPart: partTemplate named: partName
代码语言:javascript
复制
 partCatalog at: partName put: partTemplate
代码语言:javascript
复制
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28394316

复制
相关文章

相似问题

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